diff options
Diffstat (limited to 'backends/networking/sdl_net/localwebserver.cpp')
-rw-r--r-- | backends/networking/sdl_net/localwebserver.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/backends/networking/sdl_net/localwebserver.cpp b/backends/networking/sdl_net/localwebserver.cpp index d1dda16f8c..c3df9f8819 100644 --- a/backends/networking/sdl_net/localwebserver.cpp +++ b/backends/networking/sdl_net/localwebserver.cpp @@ -42,7 +42,9 @@ namespace Networking { LocalWebserver::LocalWebserver(): _set(nullptr), _serverSocket(nullptr), _timerStarted(false), _stopOnIdle(false), _clients(0), _idlingFrames(0) { - _indexPageHandler.addPathHandler(*this); + addPathHandler("/", _indexPageHandler.getHandler()); + addPathHandler("/files", _filesPageHandler.getHandler()); + _defaultHandler = _resourceHandler.getHandler(); } LocalWebserver::~LocalWebserver() { @@ -142,7 +144,7 @@ void LocalWebserver::stop() { void LocalWebserver::stopOnIdle() { _stopOnIdle = true; } -void LocalWebserver::addPathHandler(Common::String path, ClientHandler handler) { +void LocalWebserver::addPathHandler(Common::String path, ClientHandlerCallback handler) { if (_pathHandlers.contains(path)) warning("LocalWebserver::addPathHandler: path already had a handler"); _pathHandlers[path] = handler; } @@ -199,7 +201,9 @@ void LocalWebserver::handleClient(uint32 i) { //if GET, check whether we know a handler for such URL //if PUT, check whether we know a handler for that URL if (_pathHandlers.contains(_client[i].path())) - (*_pathHandlers[_client[i].path()])(_client[i]); + (*_pathHandlers[_client[i].path()])(_client[i]); + else if (_defaultHandler) + (*_defaultHandler)(_client[i]); //try default handler if (_client[i].state() == BEING_HANDLED || _client[i].state() == INVALID) break; |