Class: Hanko::Middleware::RaiseError
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- Hanko::Middleware::RaiseError
- Defined in:
- lib/hanko/middleware/raise_error.rb
Overview
Faraday middleware that raises typed Hanko errors for HTTP 4xx/5xx responses.
Maps specific HTTP status codes to error classes:
-
401 -> AuthenticationError
-
404 -> NotFoundError
-
429 -> RateLimitError
-
All others -> ApiError
Instance Method Summary collapse
-
#on_complete(env) ⇒ void
Called by Faraday after each request completes.
Instance Method Details
#on_complete(env) ⇒ void
This method returns an undefined value.
Called by Faraday after each request completes.
24 25 26 27 28 29 30 31 |
# File 'lib/hanko/middleware/raise_error.rb', line 24 def on_complete(env) return if env.status < 400 body = parse_body(env.body) = body['message'] || body['error'] || "HTTP #{env.status}" raise error_for(env.status, , body, env.response_headers) end |