Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
|
|
Now it also searches for that in themepath, not with SearchMan only.
|
|
|
|
wwwroot.zip contains ScummVM local webserver's resources, such as
template html pages, styles and images.
One can make it from wwwroot directory contents by running
make_archive.py script.
It's added to scummvm.rc, so it's included in the executable (it works
with MinGW, but I was unable to do that in VS yet).
IndexPageHandler is the one who returns these resources. It uses
index.html for "/". I'm replacing "{message}" with translated message,
so that's the way I thought the templates should work.
|
|
* fix handling connections;
* fix idling strategy;
* add setClientGetHandler() for SeekableReadStream;
* add determineMimeType().
|
|
Cleanup in open()
|
|
This commit also adds LocalWebserver's stopOnIdle().
That means server is not stopped immediately, but only when all clients
are served.
|
|
|
|
LocalWebserver would storage the handlers.
Client now has methods like path() or query() to access different parts
of the request.
|
|
|
|
|
|
That ClientHandler is made for responding GET requests. It calculates
stream's length, it allows to specify response code and headers, it can
be used to transfer any ReadStream.
|
|
|
|
Keeps current client's state
|
|
Available as LocalServer singleton. It's being started and stopped by
StorageWizardDialog. It doesn't handle clients yet, though.
|
|
"networkreadstream.cpp:51:2: error: delegating constructors are permitted only in C++11"
|
|
Used in SavesSyncRequest to update Storage's last sync date.
|
|
Tried to use it everywhere I should've use it.
|
|
Includes NetworkReadStream PATCH method and Headers remembering feature.
|
|
It now keeps newly added Requests in separate array, so iterators don't
break when one adds a Request while ConnMan iterates its array.
The array is also shielded with mutex.
|
|
It also shows a "sync disabled" icon in case it has a savepath override.
|
|
CloudIcon can easily use CloudMan.isWorking()
|
|
|
|
|
|
It's not a Request again, but still it controls ConnMan's timer.
|
|
CloudIcon is now a Request which is automatically added once first
Request is added to ConnMan. When icon decides it should disappear, it
gets FINISHED, so ConnMan would switch off the timer if it was the last
Request.
|