Class: Alchemrest::FaradayMiddleware::JsonParser
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- Alchemrest::FaradayMiddleware::JsonParser
- Defined in:
- lib/alchemrest/faraday_middleware/json_parser.rb
Constant Summary collapse
- DEFAULT_RESPONSE =
'{}'
Instance Method Summary collapse
Instance Method Details
#on_complete(env) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/alchemrest/faraday_middleware/json_parser.rb', line 8 def on_complete(env) # stash the body for debugging env[:raw_body] = env.body env.body = if env.parse_body? parse_body(env.body) else {} end rescue MultiJson::ParseError env.body = {} end |
#parse_body(raw_body) ⇒ Object
21 22 23 |
# File 'lib/alchemrest/faraday_middleware/json_parser.rb', line 21 def parse_body(raw_body) MultiJson.load(parseable_body(raw_body)) end |
#parseable_body(raw_body) ⇒ Object
25 26 27 |
# File 'lib/alchemrest/faraday_middleware/json_parser.rb', line 25 def parseable_body(raw_body) raw_body.presence || DEFAULT_RESPONSE end |