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.
Sourcepub const fn backtrace(&self) -> Option<BacktracePlaceholder>
pub const fn backtrace(&self) -> Option<BacktracePlaceholder>
Get the backtrace for this Error.
Backtraces are only available on the nightly channel. Tracking issue: rust-lang/rust#53487.
In order for the backtrace to be meaningful, the environment variable
RUST_LIB_BACKTRACE=1 must be defined. Backtraces are somewhat
expensive to capture in Rust, so we don’t necessarily want to be
capturing them all over the place all the time.
Note: This function can be called whether or not backtraces
are enabled and available. It will return a None variant if
compiled on a toolchain that does not support backtraces, or
if executed without backtraces enabled with
RUST_LIB_BACKTRACE=1.
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
Source§impl<T> Status<T, Error> for Result<T, Error>
impl<T> Status<T, Error> for Result<T, Error>
Source§fn status<S>(self, status: S) -> Result<T, Error>
fn status<S>(self, status: S) -> Result<T, Error>
Wrap the error value with an additional status code.
§Panics
Panics if Status is not a valid StatusCode.
Source§fn with_status<S, F>(self, f: F) -> Result<T, Error>
fn with_status<S, F>(self, f: F) -> Result<T, Error>
Wrap the error value with an additional status code that is evaluated lazily only once an error does occur.
§Panics
Panics if Status is not a valid StatusCode.