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 {}