userver: grpc_protovalidate::server::Middleware Class Reference
Loading...
Searching...
No Matches
grpc_protovalidate::server::Middleware Class Referencefinal

Detailed Description

Definition at line 24 of file middleware.hpp.

+ Inheritance diagram for grpc_protovalidate::server::Middleware:

Public Member Functions

 Middleware (const Settings &settings)
 
void PostRecvMessage (ugrpc::server::MiddlewareCallContext &context, google::protobuf::Message &request) const override
 The function is invoked after each received message.
 
virtual void OnCallStart (MiddlewareCallContext &context) const
 This hook is invoked once per Call (RPC), after the message metadata is received, but before the handler function is called.
 
virtual void PreSendMessage (MiddlewareCallContext &context, google::protobuf::Message &response) const
 The function is invoked before each sended message.
 
virtual void OnCallFinish (MiddlewareCallContext &context, const grpc::Status &status) const
 This hook is invoked once per Call (RPC), after the handler function returns, but before the message is sent to the upstream client.
 

Constructor & Destructor Documentation

◆ Middleware()

grpc_protovalidate::server::Middleware::Middleware ( const Settings settings)
explicit

Definition at line 34 of file middleware.cpp.

Member Function Documentation

◆ OnCallFinish()

virtual void ugrpc::server::MiddlewareBase::OnCallFinish ( MiddlewareCallContext context,
const grpc::Status &  status 
) const
virtualinherited

This hook is invoked once per Call (RPC), after the handler function returns, but before the message is sent to the upstream client.

All OnCallStart invoked in the reverse order relatively OnCallFinish. You can change grpc status and it will apply for a rpc call.

Warning
If Handler (grpc method) returns !ok status, OnCallFinish won't be called.

Reimplemented in ugrpc::server::middlewares::deadline_propagation::Middleware.

◆ OnCallStart()

virtual void ugrpc::server::MiddlewareBase::OnCallStart ( MiddlewareCallContext context) const
virtualinherited

This hook is invoked once per Call (RPC), after the message metadata is received, but before the handler function is called.

If all OnCallStart succeeded => OnCallFinish will invoked after a success method call.

Reimplemented in ugrpc::server::middlewares::baggage::Middleware, and ugrpc::server::middlewares::deadline_propagation::Middleware.

◆ PostRecvMessage()

void grpc_protovalidate::server::Middleware::PostRecvMessage ( ugrpc::server::MiddlewareCallContext context,
google::protobuf::Message &  request 
) const
overridevirtual

The function is invoked after each received message.

PostRecvMessage is called:

  • unary: exactly once per Call (RPC)
  • stream: 0, 1 or more times

Reimplemented from ugrpc::server::MiddlewareBase.

Definition at line 38 of file middleware.cpp.

◆ PreSendMessage()

virtual void ugrpc::server::MiddlewareBase::PreSendMessage ( MiddlewareCallContext context,
google::protobuf::Message &  response 
) const
virtualinherited

The function is invoked before each sended message.

PreSendMessage is called:

  • unary: 0 or 1 per Call (RPC), depending on whether the RPC returns a response or a failed status
  • stream: once per response message, that is, 0, 1, more times per Call (RPC).

The documentation for this class was generated from the following files: