25 lines
878 B
Rust
25 lines
878 B
Rust
use serde_json::Value;
|
|
use thiserror::Error;
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum RestAdapterError {
|
|
#[error("invalid base url: {url}")]
|
|
InvalidBaseUrl { url: String },
|
|
#[error("invalid path parameter {key}")]
|
|
InvalidPathParameter { key: String },
|
|
#[error("invalid query parameter {key}")]
|
|
InvalidQueryParameter { key: String },
|
|
#[error("invalid header name {header}")]
|
|
InvalidHeaderName { header: String },
|
|
#[error("invalid header value for {header}")]
|
|
InvalidHeaderValue { header: String },
|
|
#[error("request failed")]
|
|
Transport(#[from] reqwest::Error),
|
|
#[error("sse collection window expired before stream completed")]
|
|
WindowExpired,
|
|
#[error("rest endpoint returned status {status}")]
|
|
UnexpectedStatus { status: u16, body: Value },
|
|
#[error("sse stream produced malformed event payload")]
|
|
InvalidSseEvent,
|
|
}
|