]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/application.rb
Disabled edit tab until z13 is reached.
[rails.git] / app / controllers / application.rb
index 082c5cf65a28aceac9863bede1e0732e8f976b51..64eb2180f6d7f0807b1a4aef5987110185a98f0d 100644 (file)
@@ -113,8 +113,9 @@ class ApplicationController < ActionController::Base
       ex.record.errors.each { |attr,msg| message << "#{attr}: #{msg} (#{ex.record[attr].inspect})" }
       report_error message, :bad_request
     rescue OSM::APIError => ex
-      render_opts = ex.render_opts
-      report_error render_opts[:text], render_opts[:status]
+      report_error ex.message, ex.status
+    rescue Exception => ex
+      report_error "#{ex.class}: #{ex.message}", :internal_server_error
     end
   end
 
@@ -126,6 +127,12 @@ class ApplicationController < ActionController::Base
     raise OSM::APIBadMethodError.new(method) unless ok
   end
 
+  def api_call_timeout
+    Timeout::timeout(APP_CONFIG['api_timeout'], OSM::APITimeoutError) do
+      yield
+    end
+  end
+
 private 
 
   # extract authorisation credentials from headers, returns user = nil if none