5#include <userver/clients/http/middlewares/base.hpp>
6#include <userver/components/component_base.hpp>
7#include <userver/utils/impl/internal_tag_fwd.hpp>
8#include <userver/utils/strong_typedef.hpp>
10USERVER_NAMESPACE_BEGIN
12namespace clients::http::middlewares {
14using MiddlewareIndex = utils::StrongTypedef<
class MiddlewareIndexTag, std::uint32_t>;
18 virtual MiddlewareBase& GetMiddleware() = 0;
22 MiddlewareIndex GetIndex(utils::impl::InternalTag)
const;
26 const components::ComponentConfig& config,
27 const components::ComponentContext& context,
32 MiddlewareIndex index_;