Class: FinAppsCore::Middleware::RaiseError
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- FinAppsCore::Middleware::RaiseError
- Defined in:
- lib/finapps_core/middleware/response/raise_error.rb
Overview
:nodoc:
Constant Summary collapse
- SUCCESS_STATUSES =
(200..299).freeze
- API_UNAUTHENTICATED =
401
- FORBIDDEN =
403
- CONNECTION_FAILED_STATUS =
407
- API_SESSION_TIMEOUT =
419
- LOCKOUT_MESSAGE =
'account is locked'
Instance Method Summary collapse
Instance Method Details
#on_complete(env) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/finapps_core/middleware/response/raise_error.rb', line 16 def on_complete(env) return if SUCCESS_STATUSES.include?(env[:status]) raise(FinAppsCore::ApiUnauthenticatedError, 'API Invalid Session') if env[:status] == API_UNAUTHENTICATED raise(FinAppsCore::ApiSessionTimeoutError, 'API Session Timed out') if env[:status] == API_SESSION_TIMEOUT raise(FinAppsCore::ConnectionFailedError, 'Connection Failed') if env[:status] == CONNECTION_FAILED_STATUS raise(FinAppsCore::UserLockoutError, 'User is Locked') if user_is_locked?(env) raise(Faraday::Error::ClientError, response_values(env)) end |
#response_values(env) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/finapps_core/middleware/response/raise_error.rb', line 27 def response_values(env) { status: env.status, headers: env.response_headers, body: env.body, error_messages: (env.body) } end |