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/server/middlewares/graceful_shutdown_headers/component.hpp
4
/// @brief @copybrief ugrpc::server::middlewares::graceful_shutdown_headers::Component
5
6
#
include
<
userver
/
components
/
state
.
hpp
>
7
#
include
<
userver
/
dynamic_config
/
source
.
hpp
>
8
#
include
<
userver
/
ugrpc
/
server
/
middlewares
/
base
.
hpp
>
9
10
USERVER_NAMESPACE_BEGIN
11
12
/// Middleware populating graceful shutdown headers
13
/// @see @ref scripts/docs/en/userver/grpc/server_middlewares.md
14
/// @see @ref ugrpc::server::middlewares::graceful_shutdown_headers::Component
15
namespace
ugrpc::server::middlewares::
graceful_shutdown_headers
{
16
17
/// @ingroup userver_components userver_base_classes
18
///
19
/// @brief Component for gRPC server graceful_shutdown_headers
20
///
21
/// ## Static options inherited from @ref middlewares::MiddlewareFactoryComponentBase :
22
/// @include{doc} scripts/docs/en/components_schema/core/src/middlewares/factory_component_base.md
23
///
24
/// Options inherited from @ref components::ComponentBase :
25
/// @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
26
///
27
/// @see @ref scripts/docs/en/userver/grpc/server_middlewares.md
28
class
Component
final
:
public
MiddlewareFactoryComponentBase
{
29
public
:
30
/// @ingroup userver_component_names
31
/// @brief The default name of ugrpc::server::middlewares::headers_propagator::Component
32
static
constexpr
std::string_view
kName
=
"grpc-server-graceful-shutdown-headers"
;
33
34
Component(
const
components
::ComponentConfig& config,
const
components
::ComponentContext& context);
35
36
std::shared_ptr<
const
MiddlewareBase>
37
CreateMiddleware(
const
ugrpc::server::ServiceInfo&,
const
yaml_config::
YamlConfig
&)
const
override
;
38
39
private
:
40
const
components
::State state_;
41
dynamic_config::Source source_;
42
};
43
44
}
// namespace ugrpc::server::middlewares::graceful_shutdown_headers
45
46
template
<>
47
inline
constexpr
bool
components
::kHasValidate<ugrpc::server::middlewares::graceful_shutdown_headers::Component> =
true
;
48
49
template
<>
50
inline
constexpr
auto
components
::kConfigFileMode<
51
ugrpc::server::middlewares::graceful_shutdown_headers::Component> =
ConfigFileMode
::
kNotRequired
;
52
53
USERVER_NAMESPACE_END
userver
ugrpc
server
middlewares
graceful_shutdown_headers
component.hpp
Generated on
for userver by
Doxygen
1.17.0