userver: userver/clients/http/middlewares/yandex_tracing/component.hpp Source File
Loading...
Searching...
No Matches
component.hpp
1#pragma once
2
3/// @file userver/clients/http/midddlewares/yandex_tracing/component.hpp
4/// @brief @copybrief clients::http::middlewares::yandex_tracing::Component
5
6#include <memory>
7
8#include <userver/clients/http/middlewares/component.hpp>
9
10USERVER_NAMESPACE_BEGIN
11
12namespace clients::http::middlewares::yandex_tracing {
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::yandex_tracing::Component component
21 static constexpr std::string_view kName = "http-client-yandex-tracing";
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::yandex_tracing
34
35template <>
36inline constexpr bool components::kHasValidate<clients::http::middlewares::yandex_tracing::Component> = true;
37
38USERVER_NAMESPACE_END