Class: Sofia::Response
- Inherits:
-
Object
- Object
- Sofia::Response
- Defined in:
- lib/sofia/response.rb
Instance Attribute Summary collapse
-
#headers ⇒ Object
readonly
: Hash[String, String].
-
#raw_body ⇒ Object
readonly
: String?.
-
#request ⇒ Object
readonly
: Sofia::Request.
-
#status ⇒ Object
readonly
: Integer.
Instance Method Summary collapse
-
#body ⇒ Object
: -> JSONValue?.
-
#client_error? ⇒ Boolean
: -> bool.
-
#failure? ⇒ Boolean
: -> bool.
-
#initialize(status:, headers:, raw_body:, request:) ⇒ Response
constructor
: (status: Integer, headers: Hash[String, String], raw_body: String?, request: Sofia::Request) -> void.
-
#server_error? ⇒ Boolean
: -> bool.
-
#success? ⇒ Boolean
: -> bool.
Constructor Details
#initialize(status:, headers:, raw_body:, request:) ⇒ Response
: (status: Integer, headers: Hash[String, String], raw_body: String?, request: Sofia::Request) -> void
20 21 22 23 24 25 |
# File 'lib/sofia/response.rb', line 20 def initialize(status:, headers:, raw_body:, request:) @status = status @headers = headers @raw_body = raw_body @request = request end |
Instance Attribute Details
#headers ⇒ Object (readonly)
: Hash[String, String]
11 12 13 |
# File 'lib/sofia/response.rb', line 11 def headers @headers end |
#raw_body ⇒ Object (readonly)
: String?
14 15 16 |
# File 'lib/sofia/response.rb', line 14 def raw_body @raw_body end |
#request ⇒ Object (readonly)
: Sofia::Request
17 18 19 |
# File 'lib/sofia/response.rb', line 17 def request @request end |
#status ⇒ Object (readonly)
: Integer
8 9 10 |
# File 'lib/sofia/response.rb', line 8 def status @status end |
Instance Method Details
#body ⇒ Object
: -> JSONValue?
38 39 40 41 42 43 44 45 |
# File 'lib/sofia/response.rb', line 38 def body body = raw_body return unless body JSON.parse(body) rescue JSON::ParserError raise Sofia::Error::InvalidJSON end |
#client_error? ⇒ Boolean
: -> bool
48 49 50 |
# File 'lib/sofia/response.rb', line 48 def client_error? (400..499).include?(@status) end |
#failure? ⇒ Boolean
: -> bool
33 34 35 |
# File 'lib/sofia/response.rb', line 33 def failure? !success? end |
#server_error? ⇒ Boolean
: -> bool
53 54 55 |
# File 'lib/sofia/response.rb', line 53 def server_error? (500..599).include?(@status) end |
#success? ⇒ Boolean
: -> bool
28 29 30 |
# File 'lib/sofia/response.rb', line 28 def success? (200..299).include?(@status) end |