module Mindee::HTTP::Error

def create_error_obj(response)

Parameters:
  • response (Hash) -- dictionary response retrieved by the server
def create_error_obj(response)
  error_obj = extract_error(response)
  if error_obj.nil?
    error_obj = if response.include?('Maximum pdf pages')
                  {
                    'code' => 'TooManyPages',
                    'message' => 'Maximum amound of pdf pages reached.',
                    'details' => response,
                  }
                elsif response.include?('Max file size is')
                  {
                    'code' => 'FileTooLarge',
                    'message' => 'Maximum file size reached.',
                    'details' => response,
                  }
                elsif response.include?('Invalid file type')
                  {
                    'code' => 'InvalidFiletype',
                    'message' => 'Invalid file type.',
                    'details' => response,
                  }
                elsif response.include?('Gateway timeout')
                  {
                    'code' => 'RequestTimeout',
                    'message' => 'Request timed out.',
                    'details' => response,
                  }
                elsif response.include?('Too Many Requests')
                  {
                    'code' => 'TooManyRequests',
                    'message' => 'Too Many Requests.',
                    'details' => response,
                  }
                else
                  {
                    'code' => 'UnknownError',
                    'message' => 'Server sent back an unexpected reply.',
                    'details' => response,
                  }
                end
  end
  error_obj.nil? ? {} : error_obj
end