userver: grpc_protovalidate::server::Middleware Class Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
grpc_protovalidate::server::Middleware Class Referencefinal

Detailed Description

Definition at line 32 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 20 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 25 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: