Class: Uploadcare::Connections::Response::ParseJson
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Uploadcare::Connections::Response::ParseJson
- Defined in:
- lib/uploadcare/rest/middlewares/parse_json_middleware.rb
Constant Summary collapse
- WHITESPACE_REGEX =
/\A^\s*$\z/
- ERROR_CODES =
[400, 401, 403, 404, 406, 408, 422, 429, 500, 502, 503, 504]
Instance Method Summary collapse
Instance Method Details
#on_complete(response) ⇒ Object
21 22 23 |
# File 'lib/uploadcare/rest/middlewares/parse_json_middleware.rb', line 21 def on_complete(response) response[:body] = parse(response[:body]) if respond_to?(:parse) && !ERROR_CODES.include?(response[:status]) end |
#parse(body) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/uploadcare/rest/middlewares/parse_json_middleware.rb', line 12 def parse(body) case body when WHITESPACE_REGEX, nil nil else JSON.parse(body) end end |
#unparsable_status_codes ⇒ Object
25 26 27 |
# File 'lib/uploadcare/rest/middlewares/parse_json_middleware.rb', line 25 def unparsable_status_codes [204, 301, 302, 304] end |