class BasicClient::Middleware::SymbolizedJson

Constants

UNPARSABLE

Public Instance Methods

on_complete(env) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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