diff options
Diffstat (limited to 'backends/networking/sdl_net/handlers/resourcehandler.cpp')
-rw-r--r-- | backends/networking/sdl_net/handlers/resourcehandler.cpp | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/backends/networking/sdl_net/handlers/resourcehandler.cpp b/backends/networking/sdl_net/handlers/resourcehandler.cpp index 410665f3cc..890c2a7b95 100644 --- a/backends/networking/sdl_net/handlers/resourcehandler.cpp +++ b/backends/networking/sdl_net/handlers/resourcehandler.cpp @@ -30,22 +30,6 @@ ResourceHandler::ResourceHandler() {} ResourceHandler::~ResourceHandler() {} -void ResourceHandler::handle(Client &client) { - Common::String filename = client.path(); - filename.deleteChar(0); - - // if archive hidden file is requested, ignore - if (filename.size() && filename[0] == '.') - return; - - // if file not found, don't set handler either - Common::SeekableReadStream *file = HandlerUtils::getArchiveFile(filename); - if (file == nullptr) - return; - - LocalWebserver::setClientGetHandler(client, file, 200, determineMimeType(filename)); -} - const char *ResourceHandler::determineMimeType(Common::String &filename) { // text if (filename.hasSuffix(".html")) return "text/html"; @@ -68,8 +52,20 @@ const char *ResourceHandler::determineMimeType(Common::String &filename) { /// public -ClientHandlerCallback ResourceHandler::getHandler() { - return new Common::Callback<ResourceHandler, Client &>(this, &ResourceHandler::handle); +void ResourceHandler::handle(Client &client) { + Common::String filename = client.path(); + filename.deleteChar(0); + + // if archive hidden file is requested, ignore + if (filename.size() && filename[0] == '.') + return; + + // if file not found, don't set handler either + Common::SeekableReadStream *file = HandlerUtils::getArchiveFile(filename); + if (file == nullptr) + return; + + LocalWebserver::setClientGetHandler(client, file, 200, determineMimeType(filename)); } } // End of namespace Networking |