29 lines
617 B
Rust
29 lines
617 B
Rust
use http::HeaderMap;
|
|
use http::StatusCode;
|
|
use thiserror::Error;
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum TransportError {
|
|
#[error("http {status}: {body:?}")]
|
|
Http {
|
|
status: StatusCode,
|
|
headers: Option<HeaderMap>,
|
|
body: Option<String>,
|
|
},
|
|
#[error("retry limit reached")]
|
|
RetryLimit,
|
|
#[error("timeout")]
|
|
Timeout,
|
|
#[error("network error: {0}")]
|
|
Network(String),
|
|
#[error("request build error: {0}")]
|
|
Build(String),
|
|
}
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum StreamError {
|
|
#[error("stream failed: {0}")]
|
|
Stream(String),
|
|
#[error("timeout")]
|
|
Timeout,
|
|
}
|