Class: SdrClient::UnexpectedResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/sdr_client/unexpected_response.rb

Overview

Handles unexpected responses

Defined Under Namespace

Classes: BadRequest, TokenExpired, Unauthorized

Class Method Summary collapse

Class Method Details

.call(response) ⇒ Object

Parameters:

  • response (Faraday::Response)


14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sdr_client/unexpected_response.rb', line 14

def self.call(response)
  case response.status
  when 400
    raise BadRequest, "There was an error with your request: #{response.body}"
  when 401
    raise TokenExpired, 'Your token has expired' if response.body.match?('Signature has expired')

    raise Unauthorized, 'There was an error with your credentials.'
  else
    raise "unexpected response: #{response.status} #{response.body}"
  end
end