]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/5245'
authorTom Hughes <tom@compton.nu>
Wed, 2 Oct 2024 17:36:03 +0000 (18:36 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 2 Oct 2024 17:36:03 +0000 (18:36 +0100)
1  2 
app/controllers/api_controller.rb

index 84398ad617ac8299849b68e464f5aa568eec3b51,6ce8a0ef2d18045309e36784db5cb07d0f53483e..17c98fe8b657e4c52acf6133084a786110405d90
@@@ -3,6 -3,8 +3,8 @@@ class ApiController < ApplicationContro
  
    before_action :check_api_readable
  
+   around_action :api_call_handle_error, :api_call_timeout
    private
  
    ##
      report_error message, :bad_request
    rescue OSM::APIError => e
      report_error e.message, e.status
-   rescue AbstractController::ActionNotFound => e
+   rescue AbstractController::ActionNotFound, CanCan::AccessDenied => e
      raise
    rescue StandardError => e
      logger.info("API threw unexpected #{e.class} exception: #{e.message}")
  
    ##
    # wrap an api call in a timeout
 -  def api_call_timeout(&block)
 -    Timeout.timeout(Settings.api_timeout, &block)
 +  def api_call_timeout(&)
 +    Timeout.timeout(Settings.api_timeout, &)
    rescue ActionView::Template::Error => e
      e = e.cause