use http::HeaderMap; use http::StatusCode; use thiserror::Error; #[derive(Debug, Error)] pub enum TransportError { #[error("http {status}: {body:?}")] Http { status: StatusCode, url: Option, headers: Option, body: Option, }, #[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, }