class Sqreen::ErrorHandlingMiddleware
Public Class Methods
new(app)
click to toggle source
# File lib/sqreen/error_handling_middleware.rb, line 10 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/sqreen/error_handling_middleware.rb, line 14 def call(env) @app.call(env) rescue StandardError => e sqreen_attack = nil if e.is_a?(Sqreen::AttackBlocked) sqreen_attack = e elsif e.respond_to?(:original_exception) && e.original_exception.is_a?(Sqreen::AttackBlocked) sqreen_attack = e.original_exception end if sqreen_attack && sqreen_attack.redirect_url return [303, { 'Location' => sqreen_attack.redirect_url }, ['']] end raise end