#[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
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.