Class: Podio::Middleware::JsonResponse
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Podio::Middleware::JsonResponse
- Defined in:
- lib/podio/middleware/json_response.rb
Instance Method Summary collapse
Instance Method Details
#is_json?(env) ⇒ Boolean
15 16 17 |
# File 'lib/podio/middleware/json_response.rb', line 15 def is_json?(env) env[:response_headers]['content-type'] =~ /application\/json/ end |
#on_complete(env) ⇒ Object
9 10 11 12 13 |
# File 'lib/podio/middleware/json_response.rb', line 9 def on_complete(env) if env[:body].is_a?(String) && is_json?(env) && env[:status] < 500 env[:body] = parse(env[:body]) end end |
#parse(body) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/podio/middleware/json_response.rb', line 19 def parse(body) return nil if body !~ /\S/ # json gem doesn't like decoding blank strings MultiJson.decode(body) rescue Object => err raise Faraday::Error::ParsingError.new(err) end |