Age | Commit message (Collapse) | Author |
|
|
|
Only Windows' shellExecute() now.
|
|
Now NetworkReadStream, which is used in DownloadRequest, which is used
in FolderDownloadRequest, returns progress information provided by
libcurl.
|
|
Uses dynamically allocated buffer now.
|
|
Now those support POST multipart/form upload.
|
|
"/" is used to receive "?code", but when there is no such parameter
passed, it's safe to redirect user to the "/files".
|
|
Works on Linux too. And, well, I'm bad in adding backends, so it's just
#ifdefed there.
|
|
The attribute is Chrome-only.
|
|
|
|
Still doesn't support directories uploading.
|
|
It was starting over every 100vh (each screen).
|
|
|
|
|
|
Simplified some stuff here and there by using HandlerUtils static
methods.
|
|
|
|
|
|
|
|
Adds Client::noMoreContent() and Reader::noMoreContent(), which return
true when whole client's request was read.
|
|
|
|
Now Client reads the first headers block, then LocalWebserver decides
which Handler to use. In case of "/upload", UploadFileHandler is used.
But now it only knows the "path" parameter. If that's valid, actual
UploadFileClientHandler is created, which reads the contents of the
request and, when finds there an "upload_file" field, starts saving it
in the directory specified by "path".
With that we don't need temp files approach from Reader class.
|
|
|
|
|
|
|
|
|
|
|
|
Instead of keeping them in memory. Temp file name is generated to point
into ScummVM's working directory. That means that if user wanted to
upload file to the place with sufficient size, it would instead be
uploaded to ScummVM's working directory. Yet it's too early to parse the
target directory, so there is no way to generate temp file name within
that directory.
|
|
|
|
|
|
Query parameters are now parsed once and then just searched in the
HashMap.
|
|
Instead of copy-pasting it I'm just "integrating" it in.
|
|
|
|
That means that if current buffer is over, reader will stop reading and
it's safe to call readResponse() again, so it would continue from the
place it left.
|
|
That should be part of the Client, I guess. Reader is not ready to
continue reading from place it stopped, but it already works as it
should for the case when whole content is available.
|
|
In local webserver's links.
Fixed URL decoding to understand '+', by the way. Firefox sends these
instead of spaces and "%2B" instead of '+'.
|
|
It's not static now and it's increased to 1 MB.
|
|
Now one can download files from the device through browser!
|
|
It does redirect to "/files" on success, so user doesn't even see the
strange "/create" URL at all.
This commit is for keeping these handlers small, not making one
(FilesPageHandler in this case) do everything.
|
|
One can now create directories through browser.
|
|
Its handlers are now more compact. This commit moves Handler classes in
handlers\ directory.
ResourceHandler ignores "hidden" files in the archive, and these are
used as markup templates in IndexPageHandler and FilesPageHandler.
|
|
Searches for a substring in the string and replaces it with the other
string.
|
|
Including both virtual "/root" and "/saves" ones.
|
|
Shows the page with controls, but doesn't actually list the directories,
create the specified ones or allows to upload files yet.
|
|
|
|
It should show the real server's IP over there, but that doesn't work
yet.
|
|
|
|
Mostly on format string
|
|
|
|
|
|
The passed buffer is not changed, so could be `const`.
You might see that `postFields.c_str()` is `buffer`. Yet, as it's
`postFields`, it's used for POST in curl_easy_setopt(), which copies the
passed buffer. When `buffer` is used for upload, it's an actual bytes
buffer, kept in CurlRequest.
|
|
That `false` came from TranslationManager's function, which was
returning bool, not a pointer. Somehow missed that line.
|