Class: FmRest::V1::RaiseErrors
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- FmRest::V1::RaiseErrors
- Defined in:
- lib/fmrest/v1/raise_errors.rb
Overview
FM Data API response middleware for raising exceptions on API response errors
https://fmhelp.filemaker.com/help/17/fmp/en/index.html#page/FMP_Help/error-codes.html
Constant Summary collapse
- ERROR_RANGES =
{ -1 => APIError::UnknownError, 100 => APIError::ResourceMissingError, 101 => APIError::RecordMissingError, 102..199 => APIError::ResourceMissingError, 200..299 => APIError::AccountError, 300..399 => APIError::LockError, 400..499 => APIError::ParameterError, 500..599 => APIError::ValidationError, 800..899 => APIError::SystemError, 1200..1299 => APIError::ScriptError, 1400..1499 => APIError::ODBCError }
Instance Method Summary collapse
Instance Method Details
#on_complete(env) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/fmrest/v1/raise_errors.rb', line 28 def on_complete(env) # Sniff for either straight JSON parsing or Spyke's format if env.body[:metadata] && env.body[:metadata][:messages] check_errors(env.body[:metadata][:messages]) elsif env.body["messages"] check_errors(env.body["messages"]) end end |