From d56d9b2c04c8d78999f2d6efbfde2b05eed7d4a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Sverre=20Lien=20Sell=C3=A6g?= Date: Sat, 22 May 2021 18:14:04 +0200 Subject: [PATCH] respond with 404 on all requests that are not matched --- src/store.cpp | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/src/store.cpp b/src/store.cpp index b6b7900..9deb6db 100644 --- a/src/store.cpp +++ b/src/store.cpp @@ -29,32 +29,24 @@ int Application::run() { auto store = json::object(); std::vector servers; - if (https_server) { - https_server->default_resource["GET"] = - [](std::shared_ptr response, ...) { - return response::not_found(response); - }; - - https_server->default_resource["POST"] = - [](std::shared_ptr response, ...) { + for (const auto &r : {"GET", "POST", "PUT", "PATCH", "OPTIONS", "HEAD"}) { + if (https_server) { + https_server->default_resource[r] = + [](std::shared_ptr response, ...) { + return response::not_found(response); + }; + } + http_server.default_resource[r] = + [](std::shared_ptr response, ...) { return response::not_found(response); }; + } + if (https_server) { servers.emplace_back( [&]() { https_server->start(secure_web_server_started); }); } - http_server.default_resource["GET"] = - [](std::shared_ptr response, ...) { - return response::not_found(response); - }; - - http_server.default_resource["POST"] = - [&](std::shared_ptr response, ...) { - return response::not_found(response); - }; - - servers.emplace_back([&]() { http_server.start(web_server_started); }); for (auto &server : servers) {