class Geocodable::Request::JSONParser

Public Instance Methods

on_complete(env) click to toggle source
# File lib/geocodable/json_parser.rb, line 4
def on_complete(env)
  begin
    env.body = JSON.parse(env.body, symbolize_names: true) if is_json?(env)
  rescue JSON::ParserError
    raise APIError.new(
      "Invalid response object from API: #{env.body}", env.status, env.body)
  end
end

Private Instance Methods

is_json?(env) click to toggle source
# File lib/geocodable/json_parser.rb, line 15
def is_json?(env)
  env[:response_headers]['Content-Type'].match 'application/json'
end