]> git.openstreetmap.org Git - rails.git/blobdiff - lib/nominatim.rb
Fix remote editing security policy
[rails.git] / lib / nominatim.rb
index 5b1c7ac3203ca92ffdcda856ed3a47ba5a15cc01..97d158cfdf98f10bc47526c0b397f813b0283a8e 100644 (file)
@@ -1,7 +1,9 @@
 module Nominatim
+  extend ActionView::Helpers::NumberHelper
+
   def self.describe_location(lat, lon, zoom = nil, language = nil)
-    zoom = zoom || 14
-    language = language || request.user_preferred_languages.join(',')
+    zoom ||= 14
+    language ||= http_accept_language.user_preferred_languages.join(",")
 
     Rails.cache.fetch "/nominatim/location/#{lat}/#{lon}/#{zoom}/#{language}" do
       url = "http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{language}"
@@ -10,11 +12,11 @@ module Nominatim
         response = OSM::Timer.timeout(4) do
           REXML::Document.new(Net::HTTP.get(URI.parse(url)))
         end
-      rescue Exception
+      rescue StandardError
         response = nil
       end
 
-      if response and result = response.get_text("reversegeocode/result")
+      if response && result = response.get_text("reversegeocode/result")
         result.to_s
       else
         "#{number_with_precision(lat, :precision => 3)}, #{number_with_precision(lon, :precision => 3)}"