diff --git a/lib/geocoder/configuration.rb b/lib/geocoder/configuration.rb index b1547b2e1014944b0e8018dd38a6e46cbfd705f0..0535a0b69a5ba9e94d4587e5b3cbbf4067152c42 100644 --- a/lib/geocoder/configuration.rb +++ b/lib/geocoder/configuration.rb @@ -48,6 +48,7 @@ module Geocoder :timeout, :lookup, :language, + :request_headers, :use_https, :http_proxy, :https_proxy, @@ -70,6 +71,7 @@ module Geocoder @timeout = 3 # geocoding service timeout (secs) @lookup = :google # name of geocoding service (symbol) @language = :en # ISO-639 language code + @request_headers = {} # HTTP headers for lookup @use_https = false # use HTTPS for lookup requests? (if supported) @http_proxy = nil # HTTP proxy server (user:pass@host:port) @https_proxy = nil # HTTPS proxy server (user:pass@host:port) diff --git a/lib/geocoder/lookups/base.rb b/lib/geocoder/lookups/base.rb index 62f91207027a8145232ba4e03429acfe37f8fe73..8e58c4511f5c6e9830ed8094b46386378b162203 100644 --- a/lib/geocoder/lookups/base.rb +++ b/lib/geocoder/lookups/base.rb @@ -149,7 +149,7 @@ module Geocoder unless cache and body = cache[url] client = http_client.new(uri.host, uri.port) client.use_ssl = true if Geocoder::Configuration.use_https - response = client.get(uri.request_uri) + response = client.get(uri.request_uri, Geocoder::Configuration.request_headers) body = response.body if cache and (200..399).include?(response.code.to_i) cache[url] = body