userver
C++ Async Framework
Loading...
Searching...
No Matches
component.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/clients/http/middlewares/component.hpp
4
/// @brief @copybrief clients::http::middlewares::ComponentBase
5
6
#
include
<
cstdint
>
7
8
#
include
<
userver
/
clients
/
http
/
middlewares
/
base
.
hpp
>
9
#
include
<
userver
/
components
/
component_base
.
hpp
>
10
#
include
<
userver
/
utils
/
impl
/
internal_tag_fwd
.
hpp
>
11
#
include
<
userver
/
utils
/
strong_typedef
.
hpp
>
12
13
USERVER_NAMESPACE_BEGIN
14
15
namespace
clients::http::middlewares {
16
17
using
MiddlewareIndex = utils::StrongTypedef<
class
MiddlewareIndexTag, std::uint32_t>;
18
19
/// @brief Base component for HTTP client middleware plugins
20
class
ComponentBase
:
public
components
::
ComponentBase
{
21
public
:
22
virtual
MiddlewareBase
& GetMiddleware() = 0;
23
24
/// @cond
25
// For internal use only.
26
MiddlewareIndex GetIndex(
utils
::impl::InternalTag)
const
;
27
/// @endcond
28
protected
:
29
ComponentBase(
30
const
components
::ComponentConfig& config,
31
const
components
::ComponentContext& context,
32
MiddlewareIndex index
33
);
34
35
private
:
36
MiddlewareIndex index_;
37
};
38
39
}
// namespace clients::http::middlewares
40
41
USERVER_NAMESPACE_END
userver
clients
http
middlewares
component.hpp
Generated on Thu May 21 2026 16:19:43 for userver by
Doxygen
1.13.2