class Geocoder::Lookup::Base

def make_api_request(query)


return the response object.
Make an HTTP(S) request to a geocoding API and
#
def make_api_request(query)
  uri = URI.parse(query_url(query))
  Geocoder.log(:debug, "Geocoder: HTTP request being made for #{uri.to_s}")
  http_client.start(uri.host, uri.port, use_ssl: use_ssl?, open_timeout: configuration.timeout, read_timeout: configuration.timeout) do |client|
    configure_ssl!(client) if use_ssl?
    req = Net::HTTP::Get.new(uri.request_uri, configuration.http_headers)
    if configuration.basic_auth[:user] and configuration.basic_auth[:password]
      req.basic_auth(
        configuration.basic_auth[:user],
        configuration.basic_auth[:password]
      )
    end
    client.request(req)
  end
rescue Timeout::Error
  raise Geocoder::LookupTimeout
rescue Errno::EHOSTUNREACH, Errno::ETIMEDOUT, Errno::ENETUNREACH, Errno::ECONNRESET
  raise Geocoder::NetworkError
end