]> git.openstreetmap.org Git - rails.git/commitdiff
Merge branch 'pull/4957'
authorAnton Khorev <tony29@yandex.ru>
Wed, 10 Jul 2024 14:20:30 +0000 (17:20 +0300)
committerAnton Khorev <tony29@yandex.ru>
Wed, 10 Jul 2024 14:20:30 +0000 (17:20 +0300)
lib/nominatim.rb
lib/osm.rb

index adb041da43857799d2bdbea0a8a1c018e1d536e6..5e4a18b519733d39e5fc7b770e0d3cfb61729c8d 100644 (file)
@@ -11,14 +11,16 @@ module Nominatim
       url = "#{Settings.nominatim_url}reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{language}"
 
       begin
-        response = Timeout.timeout(4) do
-          REXML::Document.new(Net::HTTP.get(URI.parse(url)))
+        response = OSM.http_client.get(URI.parse(url)) do |request|
+          request.options.timeout = 4
         end
+
+        results = REXML::Document.new(response.body) if response.success?
       rescue StandardError
-        response = nil
+        results = nil
       end
 
-      if response && result = response.get_text("reversegeocode/result")
+      if results && result = results.get_text("reversegeocode/result")
         result.value
       else
         "#{number_with_precision(lat, :precision => 3)}, #{number_with_precision(lon, :precision => 3)}"
index dd273418e52cc562c95f94b67ef1bba47218f1c3..46f37036f92d796243960cf1c7c8b63fdd91244e 100644 (file)
@@ -535,7 +535,8 @@ module OSM
 
   # Return the HTTP client to use
   def self.http_client
-    @http_client ||= Faraday.new(:request => { :timeout => 15 })
+    @http_client ||= Faraday.new(:request => { :timeout => 15 },
+                                 :headers => { :user_agent => Settings.server_url })
   end
 
   # Return the MaxMindDB database handle