userver
C++ Async Framework
Loading...
Searching...
No Matches
headers_propagator.hpp
1
#
pragma
once
2
3
#
include
<
userver
/
server
/
middlewares
/
http_middleware_base
.
hpp
>
4
5
USERVER_NAMESPACE_BEGIN
6
7
namespace
server::
middlewares
{
8
9
class
HeadersPropagator
final
:
public
HttpMiddlewareBase
{
10
public
:
11
explicit
HeadersPropagator(
const
handlers::
HttpHandlerBase
&, std::vector<std::string> headers);
12
13
private
:
14
void
HandleRequest(
http
::HttpRequest& request,
request
::RequestContext& context)
const
override
;
15
16
std::vector<std::string> headers_;
17
};
18
19
class
HeadersPropagatorFactory
final
:
public
HttpMiddlewareFactoryBase
{
20
public
:
21
static
constexpr
std::string_view kName =
"headers-propagator"
;
22
23
HeadersPropagatorFactory(
const
components
::ComponentConfig&,
const
components
::ComponentContext&);
24
25
static
yaml_config
::Schema GetStaticConfigSchema();
26
27
private
:
28
std::unique_ptr<
HttpMiddlewareBase
> Create(
29
const
handlers::
HttpHandlerBase
&,
30
yaml_config
::
YamlConfig
middleware_config
31
)
const
override
;
32
33
std::vector<std::string> headers_;
34
};
35
36
}
// namespace server::middlewares
37
38
template
<>
39
inline
constexpr
bool
components
::kHasValidate<server::middlewares::HeadersPropagatorFactory> =
true
;
40
41
template
<>
42
inline
constexpr
auto
43
components
::kConfigFileMode<server::middlewares::HeadersPropagatorFactory> =
ConfigFileMode
::
kNotRequired
;
44
45
USERVER_NAMESPACE_END
userver
server
middlewares
headers_propagator.hpp
Generated on Fri Dec 5 2025 12:20:59 for userver by
Doxygen
1.13.2