Enum isahc::error::ErrorKind[][src]

#[non_exhaustive]
pub enum ErrorKind {
Show 14 variants BadClientCertificate, BadServerCertificate, ClientInitialization, ConnectionFailed, InvalidContentEncoding, InvalidCredentials, InvalidRequest, Io, NameResolution, ProtocolViolation, RequestBodyNotRewindable, Timeout, TlsEngine, TooManyRedirects, // some variants omitted
}
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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

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

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

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

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

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

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