]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/application_controller.rb
Merge pull request #3889 from tomhughes/distances
[rails.git] / app / controllers / application_controller.rb
index 1d68654055538fd597265043e2adcb52e3ceb94f..87be14e5b3559eb56c2d435bb398f7f4f69dc0e8 100644 (file)
@@ -231,6 +231,7 @@ class ApplicationController < ActionController::Base
   def api_call_timeout(&block)
     Timeout.timeout(Settings.api_timeout, Timeout::Error, &block)
   rescue Timeout::Error
   def api_call_timeout(&block)
     Timeout.timeout(Settings.api_timeout, Timeout::Error, &block)
   rescue Timeout::Error
+    ActiveRecord::Base.connection.raw_connection.cancel
     raise OSM::APITimeoutError
   end
 
     raise OSM::APITimeoutError
   end
 
@@ -243,11 +244,13 @@ class ApplicationController < ActionController::Base
 
     if e.is_a?(Timeout::Error) ||
        (e.is_a?(ActiveRecord::StatementInvalid) && e.message.include?("execution expired"))
 
     if e.is_a?(Timeout::Error) ||
        (e.is_a?(ActiveRecord::StatementInvalid) && e.message.include?("execution expired"))
+      ActiveRecord::Base.connection.raw_connection.cancel
       render :action => "timeout"
     else
       raise
     end
   rescue Timeout::Error
       render :action => "timeout"
     else
       raise
     end
   rescue Timeout::Error
+    ActiveRecord::Base.connection.raw_connection.cancel
     render :action => "timeout"
   end
 
     render :action => "timeout"
   end
 
@@ -286,7 +289,7 @@ class ApplicationController < ActionController::Base
     append_content_security_policy_directives(
       :child_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
       :frame_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
     append_content_security_policy_directives(
       :child_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
       :frame_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
-      :connect_src => [Settings.nominatim_url, Settings.overpass_url, Settings.fossgis_osrm_url, Settings.graphhopper_url],
+      :connect_src => [Settings.nominatim_url, Settings.overpass_url, Settings.fossgis_osrm_url, Settings.graphhopper_url, Settings.fossgis_valhalla_url],
       :form_action => %w[render.openstreetmap.org],
       :style_src => %w['unsafe-inline']
     )
       :form_action => %w[render.openstreetmap.org],
       :style_src => %w['unsafe-inline']
     )