pub struct Error { /* private fields */ }
Expand description
The error type for HTTP operations.
Implementations§
Source§impl Error
impl Error
Sourcepub fn new<S, E>(status: S, error: E) -> Self
pub fn new<S, E>(status: S, error: E) -> Self
Create a new error object from any error type.
The error type must be threadsafe and ’static, so that the Error will be as well. If the error type does not provide a backtrace, a backtrace will be created here to ensure that a backtrace exists.
Sourcepub fn status(&self) -> StatusCode
pub fn status(&self) -> StatusCode
Get the status code associated with this error.
Sourcepub fn set_status<S>(&mut self, status: S)
pub fn set_status<S>(&mut self, status: S)
Set the status code associated with this error.
pub const fn backtrace(&self) -> Option<BacktracePlaceholder>
Sourcepub fn into_inner(self) -> Error
pub fn into_inner(self) -> Error
Returns the inner anyhow::Error
Note: This will lose status code information
Sourcepub fn downcast<E>(self) -> Result<E, Self>
pub fn downcast<E>(self) -> Result<E, Self>
Attempt to downcast the error object to a concrete type.
Sourcepub fn downcast_ref<E>(&self) -> Option<&E>
pub fn downcast_ref<E>(&self) -> Option<&E>
Downcast this error object by reference.
Sourcepub fn downcast_mut<E>(&mut self) -> Option<&mut E>
pub fn downcast_mut<E>(&mut self) -> Option<&mut E>
Downcast this error object by mutable reference.
Sourcepub fn type_name(&self) -> Option<&str>
pub fn type_name(&self) -> Option<&str>
Retrieves a reference to the type name of the error, if available.
Sourcepub fn from_display<D: Display>(error: D) -> Self
pub fn from_display<D: Display>(error: D) -> Self
Converts anything which implements Display
into an http_types::Error
.
This is handy for errors which are not Send + Sync + 'static
because std::error::Error
requires Display
.
Note that any assiciated context not included in the Display
output will be lost,
and so this may be lossy for some types which implement std::error::Error
.
Note: Prefer error.into()
via From<Into<anyhow::Error>>
when possible!
Sourcepub fn from_debug<D: Debug>(error: D) -> Self
pub fn from_debug<D: Debug>(error: D) -> Self
Converts anything which implements Debug
into an http_types::Error
.
This is handy for errors which are not Send + Sync + 'static
because std::error::Error
requires Debug
.
Note that any assiciated context not included in the Debug
output will be lost,
and so this may be lossy for some types which implement std::error::Error
.
Note: Prefer error.into()
via From<Into<anyhow::Error>>
when possible!
Trait Implementations§
Source§impl AsMut<StatusCode> for Error
impl AsMut<StatusCode> for Error
Source§fn as_mut(&mut self) -> &mut StatusCode
fn as_mut(&mut self) -> &mut StatusCode
Source§impl AsRef<StatusCode> for Error
impl AsRef<StatusCode> for Error
Source§fn as_ref(&self) -> &StatusCode
fn as_ref(&self) -> &StatusCode
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
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