Files
crank/crates/crank-adapter-rest/src/error.rs
T
2026-04-06 10:54:01 +03:00

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