Class: Smartsheet::API::Middleware::ResponseParser
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- Smartsheet::API::Middleware::ResponseParser
- Defined in:
- lib/smartsheet/api/faraday_adapter/middleware/response_parser.rb
Overview
Wraps responses into FaradayResponses, parsing JSON bodies when applicable
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ ResponseParser
constructor
A new instance of ResponseParser.
Constructor Details
#initialize(app) ⇒ ResponseParser
Returns a new instance of ResponseParser.
10 11 12 |
# File 'lib/smartsheet/api/faraday_adapter/middleware/response_parser.rb', line 10 def initialize(app) super(app) end |
Instance Method Details
#call(env) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/smartsheet/api/faraday_adapter/middleware/response_parser.rb', line 14 def call(env) @app.call(env).on_complete do |response_env| if response_env[:response_headers]['content-type'] =~ /\bapplication\/json\b/ response_env[:body] = JSON.parse(response_env[:body], symbolize_names: true) end response_env[:body] = FaradayResponse.from_response_env response_env end end |