1#include <userver/grpc-protovalidate/server/component.hpp>
3#include <userver/ugrpc/server/middlewares/deadline_propagation/component.hpp>
4#include <userver/yaml_config/merge_schemas.hpp>
6#include <grpc-protovalidate/server/middleware.hpp>
9#include "generated/src/grpc-protovalidate/server/component.yaml.hpp"
12USERVER_NAMESPACE_BEGIN
14namespace grpc_protovalidate::
server {
16ValidationSettings Parse(
const yaml_config::YamlConfig& config, formats::parse::To<ValidationSettings>) {
17 ValidationSettings settings;
18 settings.fail_fast = config[
"fail-fast"].As<
bool>(settings.fail_fast);
19 settings.send_violations = config[
"send-violations"].As<
bool>(settings.send_violations);
23Settings Parse(
const yaml_config::YamlConfig& config, formats::parse::To<Settings>) {
25 settings.global.fail_fast = config[
"fail-fast"].As<
bool>(settings.global.fail_fast);
26 settings.global.send_violations = config[
"send-violations"].As<
bool>(settings.global.send_violations);
27 settings.per_method = config[
"methods"].As<utils::impl::TransparentMap<std::string, ValidationSettings>>({});