Class: BasicClient::Middleware::SymbolizedJson
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- BasicClient::Middleware::SymbolizedJson
- Defined in:
- lib/basic_client/middleware/symbolized_json.rb
Constant Summary collapse
- UNPARSABLE =
[204, 301, 302, 304]
Instance Method Summary collapse
Instance Method Details
#on_complete(env) ⇒ Object
17 18 19 |
# File 'lib/basic_client/middleware/symbolized_json.rb', line 17 def on_complete(env) env[:body] = parse(env[:body]) unless UNPARSABLE.include?(env[:status]) end |
#parse(body) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/basic_client/middleware/symbolized_json.rb', line 8 def parse(body) case body when /\A^\s*$\z/, nil nil else try_parse(body) end end |
#try_parse(body) ⇒ Object
21 22 23 24 25 |
# File 'lib/basic_client/middleware/symbolized_json.rb', line 21 def try_parse(body) JSON.parse(body, symbolize_names: true) rescue JSON::ParserError body end |