25void Middleware::PostRecvMessage(
26 ugrpc::client::MiddlewareCallContext& context,
27 const google::protobuf::Message& message
29 const ValidationSettings& settings = settings_.Get(context.GetCallName());
30 const ValidationResult result = ValidateMessage(message, {.fail_fast = settings.fail_fast});
31 if (result.IsSuccess()) {
34 const ValidationError& error = result.GetError();
35 switch (error.GetType()) {
36 case ValidationError::Type::kInternal:
37 throw ValidatorError(context.GetCallName());
38 case ValidationError::Type::kRule:
40 throw ResponseError(context.GetCallName(), error.GetViolations());