pub enum HttpCacheError {
Client(Box<dyn Error + Send + Sync>),
Cache(String),
BadRequest(BadRequest),
Http(Box<dyn Error + Send + Sync>),
Body(Box<dyn Error + Send + Sync>),
Streaming(StreamingError),
Other(Box<dyn Error + Send + Sync>),
}Expand description
Unified error type for HTTP cache operations that works across all client libraries.
This enum consolidates error handling patterns from all http-cache client crates (reqwest, surf, tower, ureq) while providing a clean, extensible interface.
§Examples
use http_cache::{HttpCacheError, BadRequest};
// Cache operation errors
let cache_err = HttpCacheError::cache("Failed to read cache entry");
// Request parsing errors
let request_err = HttpCacheError::from(BadRequest);
// HTTP processing errors
let http_err = HttpCacheError::http("Invalid header format");
// Body processing errors
let body_err = HttpCacheError::body("Failed to collect request body");Variants§
Client(Box<dyn Error + Send + Sync>)
HTTP client error (reqwest, surf, etc.)
Cache(String)
HTTP cache operation failed
BadRequest(BadRequest)
Request parsing failed (e.g., non-cloneable request)
Http(Box<dyn Error + Send + Sync>)
HTTP processing error (header parsing, version handling, etc.)
Body(Box<dyn Error + Send + Sync>)
Body processing error (collection, streaming, etc.)
Streaming(StreamingError)
Streaming operation error (with detailed error kind)
Other(Box<dyn Error + Send + Sync>)
Other generic error
Implementations§
Source§impl HttpCacheError
impl HttpCacheError
Sourcepub fn cache<S>(message: S) -> HttpCacheError
pub fn cache<S>(message: S) -> HttpCacheError
Create a cache operation error
§Examples
use http_cache::HttpCacheError;
let err = HttpCacheError::cache("Cache entry not found");Sourcepub fn http<E>(error: E) -> HttpCacheError
pub fn http<E>(error: E) -> HttpCacheError
Create an HTTP processing error
§Examples
use http_cache::HttpCacheError;
let err = HttpCacheError::http("Invalid header format");Sourcepub fn body<E>(error: E) -> HttpCacheError
pub fn body<E>(error: E) -> HttpCacheError
Create a body processing error
§Examples
use http_cache::HttpCacheError;
let err = HttpCacheError::body("Failed to collect request body");Sourcepub fn client<E>(error: E) -> HttpCacheError
pub fn client<E>(error: E) -> HttpCacheError
Create a client error
§Examples
use http_cache::HttpCacheError;
let err = HttpCacheError::client("Network timeout");Sourcepub fn other<E>(error: E) -> HttpCacheError
pub fn other<E>(error: E) -> HttpCacheError
Create a generic error
§Examples
use http_cache::HttpCacheError;
let err = HttpCacheError::other("Unexpected error occurred");Sourcepub fn is_cache_error(&self) -> bool
pub fn is_cache_error(&self) -> bool
Returns true if this error is related to cache operations
Sourcepub fn is_client_error(&self) -> bool
pub fn is_client_error(&self) -> bool
Returns true if this error is related to client operations
Sourcepub fn is_streaming_error(&self) -> bool
pub fn is_streaming_error(&self) -> bool
Returns true if this error is related to streaming operations
Sourcepub fn is_bad_request(&self) -> bool
pub fn is_bad_request(&self) -> bool
Returns true if this error is a bad request
Trait Implementations§
Source§impl Debug for HttpCacheError
impl Debug for HttpCacheError
Source§impl Display for HttpCacheError
impl Display for HttpCacheError
Source§impl Error for HttpCacheError
impl Error for HttpCacheError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<BadHeader> for HttpCacheError
impl From<BadHeader> for HttpCacheError
Source§fn from(error: BadHeader) -> HttpCacheError
fn from(error: BadHeader) -> HttpCacheError
Source§impl From<BadRequest> for HttpCacheError
impl From<BadRequest> for HttpCacheError
Source§fn from(error: BadRequest) -> HttpCacheError
fn from(error: BadRequest) -> HttpCacheError
Source§impl From<BadVersion> for HttpCacheError
impl From<BadVersion> for HttpCacheError
Source§fn from(error: BadVersion) -> HttpCacheError
fn from(error: BadVersion) -> HttpCacheError
Source§impl From<ClientStreamingError> for HttpCacheError
impl From<ClientStreamingError> for HttpCacheError
Source§fn from(error: ClientStreamingError) -> HttpCacheError
fn from(error: ClientStreamingError) -> HttpCacheError
Source§impl From<Error> for HttpCacheError
impl From<Error> for HttpCacheError
Source§fn from(error: Error) -> HttpCacheError
fn from(error: Error) -> HttpCacheError
Source§impl From<Error> for HttpCacheError
impl From<Error> for HttpCacheError
Source§fn from(error: Error) -> HttpCacheError
fn from(error: Error) -> HttpCacheError
Source§impl From<InvalidHeaderName> for HttpCacheError
impl From<InvalidHeaderName> for HttpCacheError
Source§fn from(error: InvalidHeaderName) -> HttpCacheError
fn from(error: InvalidHeaderName) -> HttpCacheError
Source§impl From<InvalidHeaderValue> for HttpCacheError
impl From<InvalidHeaderValue> for HttpCacheError
Source§fn from(error: InvalidHeaderValue) -> HttpCacheError
fn from(error: InvalidHeaderValue) -> HttpCacheError
Source§impl From<InvalidMethod> for HttpCacheError
impl From<InvalidMethod> for HttpCacheError
Source§fn from(error: InvalidMethod) -> HttpCacheError
fn from(error: InvalidMethod) -> HttpCacheError
Source§impl From<InvalidStatusCode> for HttpCacheError
impl From<InvalidStatusCode> for HttpCacheError
Source§fn from(error: InvalidStatusCode) -> HttpCacheError
fn from(error: InvalidStatusCode) -> HttpCacheError
Source§impl From<InvalidUri> for HttpCacheError
impl From<InvalidUri> for HttpCacheError
Source§fn from(error: InvalidUri) -> HttpCacheError
fn from(error: InvalidUri) -> HttpCacheError
Source§impl From<ParseError> for HttpCacheError
Available on crate feature url-standard only.
impl From<ParseError> for HttpCacheError
url-standard only.