Class: OpinionatedHTTP::Response
- Inherits:
-
Object
- Object
- OpinionatedHTTP::Response
- Extended by:
- Forwardable
- Defined in:
- lib/opinionated_http/response.rb
Overview
The response object
Instance Method Summary collapse
- #body ⇒ Object
-
#body! ⇒ Object
Raises an exception when the HTTP Response is not a success.
- #exception! ⇒ Object
-
#initialize(http_response, request) ⇒ Response
constructor
:action used for logging the action in the error message.
- #success? ⇒ Boolean
Constructor Details
#initialize(http_response, request) ⇒ Response
:action used for logging the action in the error message
11 12 13 14 |
# File 'lib/opinionated_http/response.rb', line 11 def initialize(http_response, request) @http_response = http_response @request = request end |
Instance Method Details
#body ⇒ Object
20 21 22 |
# File 'lib/opinionated_http/response.rb', line 20 def body @body ||= parse_body end |
#body! ⇒ Object
Raises an exception when the HTTP Response is not a success
25 26 27 28 29 |
# File 'lib/opinionated_http/response.rb', line 25 def body! return body if success? exception! end |
#exception! ⇒ Object
31 32 33 34 35 |
# File 'lib/opinionated_http/response.rb', line 31 def exception! = "HTTP #{verb.upcase}: #{action} Failure: (#{code}) #{}" logger.error(message: , metric: "#{metric_prefix}/exception", payload: {body: body}) raise(error_class, ) end |
#success? ⇒ Boolean
16 17 18 |
# File 'lib/opinionated_http/response.rb', line 16 def success? @http_response.is_a?(Net::HTTPSuccess) end |