Exception: Restify::ResponseError
- Inherits:
-
StandardError
- Object
- StandardError
- Restify::ResponseError
- Defined in:
- lib/restify/error.rb
Overview
A ResponseError is returned on a non-successful response from server. Usually it will either be a ClientError or a ServerError.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#response ⇒ Object
readonly
Returns the value of attribute response.
Class Method Summary collapse
Instance Method Summary collapse
-
#code ⇒ Fixnum
Return response status code.
-
#errors ⇒ Object
Return hash or array of errors if response included such a thing otherwise it returns nil.
-
#initialize(response) ⇒ ResponseError
constructor
A new instance of ResponseError.
-
#status ⇒ Symbol
Return response status.
Constructor Details
#initialize(response) ⇒ ResponseError
Returns a new instance of ResponseError.
44 45 46 47 48 |
# File 'lib/restify/error.rb', line 44 def initialize(response) @response = response super "#{response.message} (#{response.code}) for `#{response.uri}':\n" \ " #{errors.inspect}" end |
Instance Attribute Details
#response ⇒ Object (readonly)
Returns the value of attribute response.
21 22 23 |
# File 'lib/restify/error.rb', line 21 def response @response end |
Class Method Details
.from_code(response) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/restify/error.rb', line 23 def self.from_code(response) case response.code when 400 BadRequest.new(response) when 401 .new(response) when 404 NotFound.new(response) when 406 NotAcceptable.new(response) when 422 UnprocessableEntity.new(response) when 400...500 ClientError.new(response) when 500...600 ServerError.new(response) else raise "Unknown response code: #{response.code}" end end |
Instance Method Details
#code ⇒ Fixnum
Return response status code.
64 65 66 |
# File 'lib/restify/error.rb', line 64 def code response.code end |
#errors ⇒ Object
Return hash or array of errors if response included such a thing otherwise it returns nil.
71 72 73 74 75 76 77 78 79 |
# File 'lib/restify/error.rb', line 71 def errors if response.decoded_body response.decoded_body['errors'] || response.decoded_body[:errors] || response.decoded_body else response.body end end |
#status ⇒ Symbol
Return response status.
55 56 57 |
# File 'lib/restify/error.rb', line 55 def status response.status end |