userver: samples/grpc_middleware_service/main.cpp
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
samples/grpc_middleware_service/main.cpp

Config override

To a middleware config per service or client (like overriding enabled option).

Example.

grpc-server-meta-filter:
headers:
- global-header
grpc-server-middlewares-pipeline:
middlewares:
grpc-server-meta-filter: # register the middleware in the pipeline
enabled: true
some-service:
middlewares:
grpc-server-meta-filter:
# The middleware of this service will get this header instead of 'global-header'
headers:
- specific-header
Note
Imagine there are more options but you override only headers. Values of other options will be taken from a global config (from grpc-server-middlewares-pipeline)

#include <client/view.hpp>
#include <http_handlers/say-hello/view.hpp>
#include <middlewares/client/auth.hpp>
#include <middlewares/client/chaos.hpp>
#include <middlewares/server/auth.hpp>
#include <middlewares/server/meta_filter.hpp>
#include <service/view.hpp>
int main(int argc, char* argv[]) {
const auto component_list = components::MinimalServerComponentList()
.Append<components::TestsuiteSupport>()
.Append<samples::grpc::auth::GreeterClient>()
.Append<samples::grpc::auth::GreeterServiceComponent>()
.Append<samples::grpc::auth::GreeterHttpHandler>()
.Append<sample::grpc::auth::server::AuthComponent>()
.Append<sample::grpc::auth::server::MetaFilterComponent>()
.Append<sample::grpc::auth::client::AuthComponent>()
.Append<sample::grpc::auth::client::ChaosComponent>()
;
return utils::DaemonMain(argc, argv, component_list);
}