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