Method: CoreLibrary::ResponseHandler#validate_against_error_cases
- Defined in:
- lib/apimatic-core/response_handler.rb
#validate_against_error_cases(response, error_cases) ⇒ Object
Validates the response against the provided error cases hash, if matches, it raises the exception.
243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
# File 'lib/apimatic-core/response_handler.rb', line 243 def validate_against_error_cases(response, error_cases) actual_status_code = response.status_code.to_s # Handling error case when configured as explicit error code error_case = error_cases[actual_status_code] error_case&.raise_exception(response) # Handling error case when configured as explicit error codes range default_range_entry = error_cases&.filter do |error_code, _| error_code.match?("^#{actual_status_code[0]}XX$") end default_range_error_case = default_range_entry&.map { |_, error_case_instance| error_case_instance } default_range_error_case[0].raise_exception(response) unless default_range_error_case.nil? || default_range_error_case.empty? # Handling default error case if configured default_error_case = error_cases['default'] default_error_case&.raise_exception(response) end |