userver: /data/code/userver/libraries/grpc-protovalidate/src/grpc-protovalidate/client/exceptions.cpp Source File
Loading...
Searching...
No Matches
exceptions.cpp
1#include <userver/grpc-protovalidate/client/exceptions.hpp>
2
3#include <fmt/format.h>
4
5USERVER_NAMESPACE_BEGIN
6
7namespace grpc_protovalidate::client {
8
9ValidatorError::ValidatorError(std::string_view call_name)
10 : BaseError(call_name, "validator internal error (probably validation expression syntax is invalid)")
11{}
12
13MessageError::MessageError(
14 std::string_view call_name,
15 std::string_view additional_info,
16 buf::validate::ValidationResult error_info
17)
18 : BaseError(call_name, additional_info),
19 error_info_(std::move(error_info))
20{}
21
22const buf::validate::ValidationResult& MessageError::GetErrorInfo() const { return error_info_; }
23
24ResponseError::ResponseError(std::string_view call_name, buf::validate::ValidationResult error_info)
25 : MessageError(
26 call_name,
27 fmt::format("response violates constraints (count={})", error_info.violations_size()),
28 std::move(error_info)
29 )
30{}
31
32RequestError::RequestError(std::string_view call_name, buf::validate::ValidationResult error_info)
33 : MessageError(
34 call_name,
35 fmt::format("request violates constraints (count={})", error_info.violations_size()),
36 std::move(error_info)
37 )
38{}
39
40} // namespace grpc_protovalidate::client
41
42USERVER_NAMESPACE_END