3#include "magpie/data/CommonData.hpp"
4#include "magpie/dsa/RadixTree.hpp"
5#include "magpie/logger/Logger.hpp"
6#include "magpie/transfer/Request.hpp"
7#include "magpie/transfer/Response.hpp"
8#include "magpie/transfer/StatusCode.hpp"
12template <data::IsCommonData Context>
24 if (err == dsa::FindError::IllegalMethod) {
26 Status::MethodNotAllowed,
27 "405 method not allowed"
29 }
else if (err == dsa::FindError::NoMatch) {
38template <data::IsCommonData Context>
48 magpie::Status::InternalServerError,
49 "500 Internal Server Error"
62 const std::function<
void()>& errorHandled
67 }
catch (
const std::exception& e) {
68 logger::error(
"{}", e.what());
70 logger::error(
"Caught non-exception type");
Definition Request.hpp:11
Definition Response.hpp:13
Definition StatusHandlers.hpp:39
virtual void tryCall(Context *ctx, Request &req, Response &res, const std::function< void()> &errorHandled)
Definition StatusHandlers.hpp:58
virtual void provideErrorResponse(Context *, Request &, Response &res)
Definition StatusHandlers.hpp:46
Definition StatusHandlers.hpp:13
virtual void onRouteNotFound(Context *, Request &, Response &res, dsa::FindError err)
Definition StatusHandlers.hpp:20