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