New API: Server and FileSystem
-
@Christoph-Hart Which means?
Are the parameters not good? it all strings -
@Christoph-Hart
Here's my habitual call
https://www.studio427audio.com/?wc-api=serial-numbers-api&request=check&...here's what I set
Server.setBaseURL("https://www.studio427audio.com"); const var SerialNumbersAPI = "?wc-api=serial-numbers-api"; // subURL
-
That's not the sub-URL these are the GET arguments. Your sub URL is empty if you call the domain directly (haven't checked whether this works though, in my experience I've always called a sub URL). The parameter object should be
const var p = { "wc-api": "serial-numbers-api", "request": "check" }; Server.setBaseURL("https://www.studio427audio.com"); Server.callWithGET("/", p, function(status, response) { });
But what does the server return? If it's just a plain old text, it won't work so you need to make sure your server returns a JSON file.
-
@Christoph-Hart I noticed in your example, the call adds a question mark at the end of the subURL.
I don't know if it's added or not to my url, but I know I shouldn't have one... -
@Christoph-Hart I see! testing...
-
This works here:
Content.makeFrontInterface(600, 500); const var p = { "wc-api": "serial-numbers-api", "request": "check" }; reg r; Server.setBaseURL("https://www.studio427audio.com"); Server.callWithGET("/", p, function(status, response) { r = response; });
If you check
r
in the script watch table, it contains -
@Christoph-Hart Yeah! Working! :)
I didn't know the api is par of GET arguments, though it was the sub...
It works like a charm! Thanks! -
Yes, the GET arguments will be embedded into the URL and POST data will be sent along with it. If your server supports it I'd recommend using POST data for sending authentification information as the other one is visible throughout the communication (which makes your SSL certificate pointless).
-
@Christoph-Hart Yes that's what I intended to do once the most simple part works :)
-
FYI, I just added the
deleteFileOrDirectory()
function... -
This is awesome! Have been waiting for these features. Bravo!!
-
@Christoph-Hart Did someone tinkered with the File APIs?
I tried getFolder and findFiles with no success.
I put a *.js on the Desktop and used the location wildcard but findFiles returns an empty array...FileSystem.getFolder("Desktop"); var fileList = FileSystem.findFiles("Desktop", "*.js", true)
My end goal is to dump an encrypted file (but I don't see a dump file method except for the ol'dumpJSON of course)
-
Use
FileSystem.Desktop
as argument.And your end goal is one line of code :)
FileSystem.getFolder(FileSystem.Desktop).getChildFile("license.dat").writeEncryptedObject({"key": "1234"}, "1haDUHNEK1($NR");
-
-
@Christoph-Hart Thanks it works like a charm.
Although when using AppData location it does not work in Hise (Unknown function 'getChildFile'
)
USE_BACKEND
issue? -
@Christoph-Hart AppData does not work on compiled plugin either
-
Ah yes, I forgot to implement that one - it's a bit annoying because I have to rewrite some things to get the app data folder working in HISE...
-
@Christoph-Hart Just seen the commit
testing... -
Is there a way to pull an image from a server to paint onto a panel?
Also could you add a function to check for network connectivity? because it's desirable to display different content if the user is working offline.
-
FileSystem.browse(var startFolder, bool forSaving, String wildcard, var callback)
Documentation not clear. What is the wildcard? Is there a way to get the start folder to be the config files location (similar to the {PROJECT_FOLDER} wildcard)? When I set
forSaving
to true it brings up an Open file dialog, when set to false it brings up a Save dialog. Shouldn't this be the other way around? What parameters are passed to the callback, is it just the file?FileSystem.getFolder(var locationType)
What is locationType?