isahc::error

Enum ErrorKind

Source
#[non_exhaustive]
pub enum ErrorKind {
Show 14 variants BadClientCertificate, BadServerCertificate, ClientInitialization, ConnectionFailed, InvalidContentEncoding, InvalidCredentials, InvalidRequest, Io, NameResolution, ProtocolViolation, RequestBodyNotRewindable, Timeout, TlsEngine, TooManyRedirects,
}
Expand description

A non-exhaustive list of error types that can occur while sending an HTTP request or receiving an HTTP response.

These are meant to be treated as general error codes that allow you to handle different sorts of errors in different ways, but are not always specific. The list is also non-exhaustive, and more variants may be added in the future.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

BadClientCertificate

A problem occurred with the local certificate.

§

BadServerCertificate

The server certificate could not be validated.

§

ClientInitialization

The HTTP client failed to initialize.

This error can occur when trying to create a client with invalid configuration, if there were insufficient resources to create the client, or if a system error occurred when trying to initialize an I/O driver.

§

ConnectionFailed

Failed to connect to the server. This can occur if the server rejects the request on the specified port.

§

InvalidContentEncoding

The server either returned a response using an unknown or unsupported encoding format, or the response encoding was malformed.

§

InvalidCredentials

Provided authentication credentials were rejected by the server.

This error is only returned when using Isahc’s built-in authentication methods. If using authentication headers manually, the server’s response will be returned as a success unaltered.

§

InvalidRequest

The request to be sent was invalid and could not be sent.

Note that this is only returned for requests that the client deemed invalid. If the request appears to be valid but is rejected by the server, then the server’s response will likely indicate as such.

§

Io

An I/O error either sending the request or reading the response. This could be caused by a problem on the client machine, a problem on the server machine, or a problem with the network between the two.

You can get more details about the underlying I/O error with Error::source.

§

NameResolution

Failed to resolve a host name.

This could be caused by any number of problems, including failure to reach a DNS server, misconfigured resolver configuration, or the hostname simply does not exist.

§

ProtocolViolation

The server made an unrecoverable HTTP protocol violation. This indicates a bug in the server. Retrying a request that returns this error is likely to produce the same error.

§

RequestBodyNotRewindable

Request processing could not continue because the client needed to re-send the request body, but was unable to rewind the body stream to the beginning in order to do so.

If you need Isahc to be able to re-send the request body during a retry or redirect then you must load the body into a contiguous memory buffer first. Then you can create a rewindable body using Body::from_bytes_static or AsyncBody::from_bytes_static.

§

Timeout

A request or operation took longer than the configured timeout time.

§

TlsEngine

An error ocurred in the secure socket engine.

§

TooManyRedirects

Number of redirects hit the maximum configured amount.

Trait Implementations§

Source§

impl Clone for ErrorKind

Source§

fn clone(&self) -> ErrorKind

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<ErrorKind> for Error

Source§

fn from(kind: ErrorKind) -> Self

Converts to this type from the input type.
Source§

impl PartialEq<ErrorKind> for &ErrorKind

Source§

fn eq(&self, other: &ErrorKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<ErrorKind> for Error

Source§

fn eq(&self, kind: &ErrorKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for ErrorKind

Source§

fn eq(&self, other: &ErrorKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ErrorKind

Source§

impl StructuralPartialEq for ErrorKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T