userver: userver/testsuite/middlewares.hpp Source File
Loading...
Searching...
No Matches
middlewares.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/testsuite/middlewares.hpp
4/// @brief Testsuite HTTP middleware for exception handling
5
6#include <userver/server/middlewares/http_middleware_base.hpp>
7
8USERVER_NAMESPACE_BEGIN
9
10namespace testsuite {
11
12class ExceptionsHandlingMiddleware final : public server::middlewares::HttpMiddlewareBase {
13public:
14 static constexpr std::string_view kName{"testsuite-exceptions-handling-middleware"};
15
16 explicit ExceptionsHandlingMiddleware(const server::handlers::HttpHandlerBase& handler);
17
18private:
19 void HandleRequest(server::http::HttpRequest& request, server::request::RequestContext& context) const override;
20
21 const server::handlers::HttpHandlerBase& handler_;
22};
23
24using ExceptionsHandlingMiddlewareFactory = server::middlewares::SimpleHttpMiddlewareFactory<
25 ExceptionsHandlingMiddleware>;
26
27} // namespace testsuite
28
29USERVER_NAMESPACE_END