9#include <userver/components/component_base.hpp>
11#include <userver/ugrpc/client/middlewares/fwd.hpp>
12#include <userver/ugrpc/client/rpc.hpp>
14USERVER_NAMESPACE_BEGIN
24class MiddlewareCallContext
final {
27 explicit MiddlewareCallContext(impl::RpcData& data);
47 impl::RpcData& GetData(
ugrpc::impl::InternalTag);
59 virtual ~MiddlewareBase();
75 virtual void PostFinish(MiddlewareCallContext&,
const grpc::Status&)
const;
80 const google::protobuf::Message&)
const;
85 const google::protobuf::Message&)
const;
96 virtual ~MiddlewareFactoryBase();
99 std::string_view client_name)
const = 0;
119Middlewares InstantiateMiddlewares(
const MiddlewareFactories& factories,
120 const std::string& client_name);