userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
component.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/ugrpc/client/middlewares/origin/component.hpp
4
/// @brief @copybrief ugrpc::client::middlewares::origin::Component
5
6
#
include
<
userver
/
ugrpc
/
client
/
middlewares
/
base
.
hpp
>
7
8
USERVER_NAMESPACE_BEGIN
9
10
/// Server origin middleware
11
/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
12
/// @see @ref ugrpc::client::middlewares::origin::Component
13
namespace
ugrpc::client::middlewares::
origin
{
14
15
/// @ingroup userver_components
16
///
17
/// @brief gRPC client middleware that sets `x-origin` metadata. gRPC server will then copy that to `useragent` tag
18
/// in server request log.
19
///
20
/// ## Static options of ugrpc::client::middlewares::log::Component:
21
/// @include{doc} scripts/docs/en/components_schema/grpc/src/ugrpc/client/middlewares/origin/component.md
22
///
23
/// Options inherited from @ref middlewares::MiddlewareFactoryComponentBase :
24
/// @include{doc} scripts/docs/en/components_schema/core/src/middlewares/factory_component_base.md
25
///
26
/// Options inherited from @ref components::ComponentBase :
27
/// @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
28
///
29
/// Config example:
30
/// @snippet samples/grpc_middleware_service/configs/static_config.yaml grpc-client-origin
31
///
32
/// @see @ref scripts/docs/en/userver/grpc/client_middlewares.md
33
class
Component
final
:
public
MiddlewareFactoryComponentBase
{
34
public
:
35
/// @ingroup userver_component_names
36
/// @brief The default name of ugrpc::client::middlewares::headers_propagator::Component.
37
static
constexpr
std::string_view
kName
=
"grpc-client-origin"
;
38
39
Component(
const
components
::ComponentConfig& config,
const
components
::ComponentContext& context);
40
41
~Component()
override
;
42
43
static
yaml_config::Schema GetStaticConfigSchema();
44
45
yaml_config::Schema
GetMiddlewareConfigSchema
()
const
override
;
46
47
std::shared_ptr<
const
MiddlewareBase> CreateMiddleware(
48
const
ugrpc::client::ClientInfo&,
49
const
yaml_config::
YamlConfig
& middleware_config
50
)
const
override
;
51
};
52
53
}
// namespace ugrpc::client::middlewares::origin
54
55
USERVER_NAMESPACE_END
userver
ugrpc
client
middlewares
origin
component.hpp
Generated on
for userver by
Doxygen
1.17.0