pub enum Error {
Show 22 variants SerdeJsonError(Error), InvalidUtf8InBody(Utf8Error), RustlsCreateConnection(Error), IoError(Error), MalformedChunkLength, MalformedChunkEnd, MalformedContentLength, HeadersOverflow, StatusLineOverflow, AddressNotFound, RedirectLocationMissing, InfiniteRedirectionLoop, TooManyRedirections, InvalidUtf8InResponse, PunycodeConversionFailed, HttpsFeatureNotEnabled, PunycodeFeatureNotEnabled, BadProxy, BadProxyCreds, ProxyConnect, InvalidProxyCreds, Other(&'static str),
}
Expand description

Represents an error while sending, receiving, or parsing an HTTP response.

Variants

SerdeJsonError(Error)

Ran into a Serde error.

InvalidUtf8InBody(Utf8Error)

The response body contains invalid UTF-8, so the as_str() conversion failed.

RustlsCreateConnection(Error)

Ran into a rustls error while creating the connection.

IoError(Error)

Ran into an IO problem while loading the response.

MalformedChunkLength

Couldn’t parse the incoming chunk’s length while receiving a response with the header Transfer-Encoding: chunked.

MalformedChunkEnd

The chunk did not end after reading the previously read amount of bytes.

MalformedContentLength

Couldn’t parse the Content-Length header’s value as an usize.

HeadersOverflow

The response contains headers whose total size surpasses Request::with_max_headers_size.

StatusLineOverflow

The response’s status line length surpasses Request::with_max_status_line_size.

AddressNotFound

ToSocketAddrs did not resolve to an address.

RedirectLocationMissing

The response was a redirection, but the Location header is missing.

InfiniteRedirectionLoop

The response redirections caused an infinite redirection loop.

TooManyRedirections

Followed max_redirections redirections, won’t follow any more.

InvalidUtf8InResponse

The response contained invalid UTF-8 where it should be valid (eg. headers), so the response cannot interpreted correctly.

PunycodeConversionFailed

The provided url contained a domain that has non-ASCII characters, and could not be converted into punycode. It is probably not an actual domain.

HttpsFeatureNotEnabled

Tried to send a secure request (ie. the url started with https://), but the crate’s https feature was not enabled, and as such, a connection cannot be made.

PunycodeFeatureNotEnabled

The provided url contained a domain that has non-ASCII characters, but it could not be converted into punycode because the punycode feature was not enabled.

BadProxy

The provided proxy information was not properly formatted. Supported proxy format is [user:password@]host:port.

BadProxyCreds

The provided credentials were rejected by the proxy server.

ProxyConnect

The provided proxy credentials were malformed.

InvalidProxyCreds

The provided credentials were rejected by the proxy server.

Other(&'static str)

This is a special error case, one that should never be returned! Think of this as a cleaner alternative to calling unreachable!() inside the library. If you come across this, please open an issue, and include the string inside this error, as it can be used to locate the problem.

Trait Implementations

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

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

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Performs the conversion.

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

Returns the argument unchanged.

Calls U::from(self).

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

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.