pub struct Error(_);
Expand description
An error encountered while sending an HTTP request or receiving an HTTP response.
Note that errors are typically caused by failed I/O or protocol errors. 4xx or 5xx responses successfully received from the server are generally not considered an error case.
This type is intentionally opaque, as sending an HTTP request involves many
different moving parts, some of which can be platform or device-dependent.
It is recommended that you use the kind
method to get a
more generalized classification of error types that this error could be if
you need to handle different sorts of errors in different ways.
If you need to get more specific details about the reason for the error, you
can use the source
method. We do not provide
any stability guarantees about what error sources are returned.
Implementations
sourceimpl Error
impl Error
sourcepub fn kind(&self) -> &ErrorKind
pub fn kind(&self) -> &ErrorKind
Get the kind of error this represents.
The kind returned may not be matchable against any documented variants if the reason for the error is unknown. Unknown errors may be an indication of a bug, or an error condition that we do not recognize appropriately. Either way, please report such occurrences to us!
sourcepub fn is_client(&self) -> bool
pub fn is_client(&self) -> bool
Returns true if this error was likely caused by the client.
Usually indicates that the client was misconfigured or used to send invalid data to the server. Requests that return these sorts of errors probably should not be retried without first fixing the request parameters.
sourcepub fn is_network(&self) -> bool
pub fn is_network(&self) -> bool
Returns true if this is an error likely related to network failures.
Network operations are inherently unreliable. Sometimes retrying the request once or twice is enough to resolve the error.
sourcepub fn is_timeout(&self) -> bool
pub fn is_timeout(&self) -> bool
Returns true if this error is caused from exceeding a configured timeout.
A request could time out for any number of reasons, for example:
- Slow or broken network preventing the server from receiving the request or replying in a timely manner.
- The server received the request but is taking a long time to fulfill the request.
Sometimes retrying the request once or twice is enough to resolve the error.
sourcepub fn local_addr(&self) -> Option<SocketAddr>
pub fn local_addr(&self) -> Option<SocketAddr>
Get the local socket address of the last-used connection involved in this error, if known.
If the request that caused this error failed to create a local socket
for connecting then this will return None
.
sourcepub fn remote_addr(&self) -> Option<SocketAddr>
pub fn remote_addr(&self) -> Option<SocketAddr>
Get the remote socket address of the last-used connection involved in this error, if known.
If the request that caused this error failed to connect to any server,
then this will return None
.
Trait Implementations
sourceimpl Error for Error
impl Error for Error
sourcefn source(&self) -> Option<&(dyn StdError + 'static)>
fn source(&self) -> Option<&(dyn StdError + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more