diff --git a/lib/geocoder/lookups/nominatim.rb b/lib/geocoder/lookups/nominatim.rb index b5275080491910fcd8ef992de6a58007a0014929..8fb7a6de32630c0bf668961e4ded5fce9d5e619e 100644 --- a/lib/geocoder/lookups/nominatim.rb +++ b/lib/geocoder/lookups/nominatim.rb @@ -38,7 +38,8 @@ module Geocoder::Lookup def query_url(query) method = query.reverse_geocode? ? "reverse" : "search" - "#{protocol}://nominatim.openstreetmap.org/#{method}?" + url_query_string(query) + host = configuration[:host] || "nominatim.openstreetmap.org" + "#{protocol}://#{host}/#{method}?" + url_query_string(query) end end end diff --git a/test/services_test.rb b/test/services_test.rb index 9a4d899d87174c2b82bcef2d8174e6b35b3abdc4..20a4f403f8e7ac4c1d2cf968b357855d420465b4 100644 --- a/test/services_test.rb +++ b/test/services_test.rb @@ -178,6 +178,13 @@ class ServicesTest < Test::Unit::TestCase result.address end + def test_nominatim_host_config + Geocoder.configure(:lookup => :nominatim, :nominatim => {:host => "local.com"}) + lookup = Geocoder::Lookup::Nominatim.new + query = Geocoder::Query.new("Bluffton, SC") + assert_match %r(http://local\.com), lookup.send(:query_url, query) + end + # --- MapQuest --- def test_api_route