layout | title | permalink | hide | prev_name | prev_link | top_name | top_link |
---|---|---|---|---|---|---|---|
documentation |
Raise Error Middleware |
/middleware/raise-error |
true |
Logger Middleware |
./logger |
Back to Middleware |
./list |
The RaiseError
middleware raises a Faraday::Error
exception if an HTTP
response returns with a 4xx or 5xx status code. All exceptions are initialized
providing the response status
, headers
, and body
.
begin
conn.get('/wrong-url') # => Assume this raises a 404 response
rescue Faraday::ResourceNotFound => e
e.response[:status] #=> 404
e.response[:headers] #=> { ... }
e.response[:body] #=> "..."
end
Specific exceptions are raised based on the HTTP Status code, according to the list below:
An HTTP status in the 400-499 range typically represents an error
by the client. They raise error classes inheriting from Faraday::ClientError
.
- 400 =>
Faraday::BadRequestError
- 401 =>
Faraday::UnauthorizedError
- 403 =>
Faraday::ForbiddenError
- 404 =>
Faraday::ResourceNotFound
- 407 =>
Faraday::ProxyAuthError
- 409 =>
Faraday::ConflictError
- 422 =>
Faraday::UnprocessableEntityError
- 4xx =>
Faraday::ClientError
An HTTP status in the 500-599 range represents a server error, and raises a
Faraday::ServerError
exception.
- 5xx =>
Faraday::ServerError
The HTTP response status may be nil due to a malformed HTTP response from the
server, or a bug in the underlying HTTP library. It inherits from
Faraday::ServerError
.
- nil =>
Faraday::NilStatusError