userver: userver/ugrpc/client/middlewares/baggage/component.hpp Source File
Loading...
Searching...
No Matches
component.hpp
1#pragma once
2
3/// @file userver/ugrpc/client/baggage/component.hpp
4/// @brief @copybrief ugrpc::client::middlewares::baggage::Component
5
6#include <userver/ugrpc/client/middlewares/base.hpp>
7
8USERVER_NAMESPACE_BEGIN
9
10/// Client baggage middleware
11namespace ugrpc::client::middlewares::baggage {
12
13// clang-format off
14
15/// @ingroup userver_components
16///
17/// @brief Component for gRPC client baggage
18///
19/// The component does **not** have any options for service config.
20///
21/// ## Static configuration example:
22///
23/// @snippet grpc/functional_tests/basic_chaos/static_config.yaml Sample grpc client baggage middleware component config
24
25// clang-format on
26
27class Component final : public MiddlewareComponentBase {
28public:
29 /// @ingroup userver_component_names
30 /// @brief The default name of ugrpc::client::middlewares::baggage::Component
31 static constexpr std::string_view kName = "grpc-client-baggage";
32
33 Component(const components::ComponentConfig& config, const components::ComponentContext& context);
34
35 std::shared_ptr<const MiddlewareFactoryBase> GetMiddlewareFactory() override;
36
37 static yaml_config::Schema GetStaticConfigSchema();
38};
39
40} // namespace ugrpc::client::middlewares::baggage
41
42USERVER_NAMESPACE_END