relentless_grpc/
error.rs

1use thiserror::Error;
2
3use relentless::{
4    assault::result::RequestError,
5    error::{IntoRelentlessError, JsonEvaluateError},
6};
7
8#[derive(Error, Debug)]
9pub enum GrpcClientError {
10    #[error("todo")]
11    Todo,
12}
13impl IntoRelentlessError for GrpcClientError {}
14
15#[derive(Error, Debug)]
16pub enum GrpcRequestError {
17    #[error("cannot parse target {}", .0)]
18    FailToParse(String),
19    #[error("no host was specified {}", .0)]
20    NoHost(http::Uri),
21    #[error("cannot find service {}", .0)]
22    NoService(String),
23    #[error("cannot find method {}", .0)]
24    NoMethod(String),
25    #[error("got unexpected empty response")]
26    EmptyResponse,
27    #[error("unexpected reflection response")]
28    UnexpectedReflectionResponse,
29}
30impl IntoRelentlessError for GrpcRequestError {}
31
32#[derive(Error, Debug)]
33pub enum GrpcEvaluateError {
34    #[error(transparent)]
35    RequestError(#[from] RequestError),
36
37    #[error("metadata map is not acceptable")]
38    UnacceptableMetadataMap,
39    #[error("extension is not acceptable")]
40    UnacceptableExtensions,
41
42    #[error(transparent)]
43    JsonEvaluateError(#[from] JsonEvaluateError),
44}
45impl IntoRelentlessError for GrpcEvaluateError {}