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 Errorimpl !UnwindSafe for Error
impl !UnwindSafe for Error