void name##httpType(const httplib::Request &request, \
httplib::Response &response, \
const std::optional<lintel::UserToken> &user); \
Handler name##httpType##Function = addMethod<std::function<HandlerArgs>, httpType>( \
pattern, [&](const httplib::Request &request, httplib::Response &response) { \
std::string auth = request.get_header_value("Authorization"); \
std::string contentTypeString = request.get_header_value("Content-Type"); \
if (contentTypeString.empty()) { contentTypeString = "application/json"; } \
std::optional<lintel::UserToken> user = std::nullopt; \
try { \
std::string id = auth.substr(7); \
user = m_authService->onAccessOf(userTokenLogin); \
} \
name##httpType(request, response, contentType, user); \
LOG_ERROR(
"{}: {}", #name, e.
what()); \
response.set_content("bad request", "text/plain"); \
} catch (const std::exception &e) { \
LOG_ERROR("{}: {}", #name, e.what()); \
response.set_content("internal server error", "text/plain"); \
} \
})
Definition HttpBadRequestException.h:9
const char * what() const noexcept override
Definition HttpBadRequestException.h:13
@ BadRequest
Definition HttpStatusCodes.h:36
static constexpr bool startsWith(std::string_view s, std::string_view start)
Definition StringUtils.h:33
Definition IAuthService.h:23