Struct http_types::Error [−][src]
pub struct Error { /* fields omitted */ }
The error type for HTTP operations.
Implementations
impl Error
[src]
impl Error
[src]pub fn new<S, E>(status: S, error: E) -> Self where
S: TryInto<StatusCode>,
S::Error: Debug,
E: Into<Error>,
[src]
S: TryInto<StatusCode>,
S::Error: Debug,
E: Into<Error>,
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.
pub fn from_str<S, M>(status: S, msg: M) -> Self where
S: TryInto<StatusCode>,
S::Error: Debug,
M: Display + Debug + Send + Sync + 'static,
[src]
S: TryInto<StatusCode>,
S::Error: Debug,
M: Display + Debug + Send + Sync + 'static,
Create a new error object from static string.
pub fn status(&self) -> StatusCode
[src]
Get the status code associated with this error.
pub fn set_status<S>(&mut self, status: S) where
S: TryInto<StatusCode>,
S::Error: Debug,
[src]
S: TryInto<StatusCode>,
S::Error: Debug,
Set the status code associated with this error.
pub fn backtrace(&self) -> Option<&Backtrace>
[src]
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
.
pub fn into_inner(self) -> Error
[src]
Returns the inner anyhow::Error
Note: This will lose status code information
pub fn downcast<E>(self) -> Result<E, Self> where
E: Display + Debug + Send + Sync + 'static,
[src]
E: Display + Debug + Send + Sync + 'static,
Attempt to downcast the error object to a concrete type.
pub fn downcast_ref<E>(&self) -> Option<&E> where
E: Display + Debug + Send + Sync + 'static,
[src]
E: Display + Debug + Send + Sync + 'static,
Downcast this error object by reference.
pub fn downcast_mut<E>(&mut self) -> Option<&mut E> where
E: Display + Debug + Send + Sync + 'static,
[src]
E: Display + Debug + Send + Sync + 'static,
Downcast this error object by mutable reference.
pub fn type_name(&self) -> Option<&str>
[src]
Retrieves a reference to the type name of the error, if available.
pub fn from_display<D: Display>(error: D) -> Self
[src]
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!
pub fn from_debug<D: Debug>(error: D) -> Self
[src]
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
impl AsMut<StatusCode> for Error
[src]
impl AsMut<StatusCode> for Error
[src]fn as_mut(&mut self) -> &mut StatusCode
[src]
impl AsRef<StatusCode> for Error
[src]
impl AsRef<StatusCode> for Error
[src]fn as_ref(&self) -> &StatusCode
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Error
impl !RefUnwindSafe for Error
impl !UnwindSafe for Error
impl !UnwindSafe for Error