userver: userver/clients/http/middlewares/headers_propagator/component.hpp Source File
Loading...
Searching...
No Matches
component.hpp
1#pragma once
2
3/// @file userver/clients/http/midddlewares/headers_propagator/component.hpp
4/// @brief @copybrief clients::http::middlewares::headers_propagator::Component
5
6#include <memory>
7
8#include <userver/clients/http/middlewares/component.hpp>
9
10USERVER_NAMESPACE_BEGIN
11
12namespace clients::http::middlewares::headers_propagator {
13
14class Middleware;
15
16class Component final : public ComponentBase {
17public:
18 /// @ingroup userver_component_names
19 /// @brief The default name of
20 /// clients::http::middlewares::headers_propagator::Component component
21 static constexpr std::string_view kName = "http-client-headers-propagator";
22
23 Component(const components::ComponentConfig&, const components::ComponentContext&);
24
25 ~Component() override;
26
27 http::MiddlewareBase& GetMiddleware() override;
28
29private:
30 std::unique_ptr<Middleware> middleware_;
31};
32
33} // namespace clients::http::middlewares::headers_propagator
34
35template <>
36inline constexpr bool components::kHasValidate<clients::http::middlewares::headers_propagator::Component> = true;
37
38USERVER_NAMESPACE_END