pub enum HttpCacheError {
Client(Box<dyn Error + Sync + Send>),
Cache(String),
BadRequest(BadRequest),
Http(Box<dyn Error + Sync + Send>),
Body(Box<dyn Error + Sync + Send>),
Streaming(StreamingError),
Other(Box<dyn Error + Sync + Send>),
}
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 + Sync + Send>)
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 + Sync + Send>)
HTTP processing error (header parsing, version handling, etc.)
Body(Box<dyn Error + Sync + Send>)
Body processing error (collection, streaming, etc.)
Streaming(StreamingError)
Streaming operation error (with detailed error kind)
Other(Box<dyn Error + Sync + Send>)
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
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
impl From<ParseError> for HttpCacheError
Source§fn from(error: ParseError) -> HttpCacheError
fn from(error: ParseError) -> HttpCacheError
Source§impl From<StreamingError> for HttpCacheError
impl From<StreamingError> for HttpCacheError
Source§fn from(error: StreamingError) -> HttpCacheError
fn from(error: StreamingError) -> HttpCacheError
Auto Trait Implementations§
impl Freeze for HttpCacheError
impl !RefUnwindSafe for HttpCacheError
impl Send for HttpCacheError
impl Sync for HttpCacheError
impl Unpin for HttpCacheError
impl !UnwindSafe for HttpCacheError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more