userver: middlewares::MiddlewareDependencyBuilder Class Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
middlewares::MiddlewareDependencyBuilder Class Referencefinal

#include <userver/middlewares/pipeline.hpp>

Detailed Description

Specifies a middleware's order with respect to other middlewares.

If you don't care about the order in relative to others, ignore this and your middleware will be in the kUser group. Otherwise, pass an instance of this class to MiddlewareComponentBase in the constructor of your middleware component.

Examples
samples/grpc_middleware_service/src/middlewares/client/auth.hpp, samples/grpc_middleware_service/src/middlewares/server/auth.hpp, and samples/grpc_middleware_service/src/middlewares/server/meta_filter.cpp.

Definition at line 109 of file pipeline.hpp.

Public Member Functions

 MiddlewareDependencyBuilder ()=default
 Make an empty dependency builder. For middlewares, InGroup must be called at some point.
 
 MiddlewareDependencyBuilder (const MiddlewareDependencyBuilder &)=default
 
 MiddlewareDependencyBuilder (MiddlewareDependencyBuilder &&) noexcept=default
 
MiddlewareDependencyBuilderoperator= (const MiddlewareDependencyBuilder &)=default
 
MiddlewareDependencyBuilderoperator= (MiddlewareDependencyBuilder &&)=default
 
template<typename MiddlewareBefore>
MiddlewareDependencyBuilder Before (DependencyType type=DependencyType::kStrong) &&
 Add dependency for your middleware. Your middleware will be before MiddlewareBefore in the pipeline.
 
MiddlewareDependencyBuilder Before (std::string_view before, DependencyType type=DependencyType::kStrong) &&
 Add dependency for your middleware. Your middleware will be before before in the pipeline.
 
template<typename MiddlewareAfter>
MiddlewareDependencyBuilder After (DependencyType type=DependencyType::kStrong) &&
 Add dependency for your middleware. Your middleware will be after MiddlewareAfter in the pipeline.
 
MiddlewareDependencyBuilder After (std::string_view after, DependencyType type=DependencyType::kStrong) &&
 Add dependency for your middleware. Your middleware will be after after in the pipeline.
 
template<typename Group>
MiddlewareDependencyBuilder InGroup () &&
 Add dependency for your middleware. Your middleware will be in the Group group.
 

Member Function Documentation

◆ After() [1/2]

template<typename MiddlewareAfter>
MiddlewareDependencyBuilder middlewares::MiddlewareDependencyBuilder::After ( DependencyType type = DependencyType::kStrong) &&

Add dependency for your middleware. Your middleware will be after MiddlewareAfter in the pipeline.

Parameters
typeis connection type between middlewares

Definition at line 174 of file pipeline.hpp.

◆ After() [2/2]

MiddlewareDependencyBuilder middlewares::MiddlewareDependencyBuilder::After ( std::string_view after,
DependencyType type = DependencyType::kStrong ) &&

Add dependency for your middleware. Your middleware will be after after in the pipeline.

Parameters
typeis connection type between middlewares
afteris the middleware component name

◆ Before() [1/2]

template<typename MiddlewareBefore>
MiddlewareDependencyBuilder middlewares::MiddlewareDependencyBuilder::Before ( DependencyType type = DependencyType::kStrong) &&

Add dependency for your middleware. Your middleware will be before MiddlewareBefore in the pipeline.

Parameters
typeis connection type between middlewares

Definition at line 166 of file pipeline.hpp.

◆ Before() [2/2]

MiddlewareDependencyBuilder middlewares::MiddlewareDependencyBuilder::Before ( std::string_view before,
DependencyType type = DependencyType::kStrong ) &&

Add dependency for your middleware. Your middleware will be before before in the pipeline.

Parameters
typeis connection type between middlewares
beforeis the middleware component name

◆ InGroup()

template<typename Group>
MiddlewareDependencyBuilder middlewares::MiddlewareDependencyBuilder::InGroup ( ) &&

Add dependency for your middleware. Your middleware will be in the Group group.

Examples
samples/grpc_middleware_service/src/middlewares/client/auth.hpp, and samples/grpc_middleware_service/src/middlewares/server/auth.hpp.

Definition at line 182 of file pipeline.hpp.


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