diff --git a/config/initializers/honeybadger.rb b/config/initializers/honeybadger.rb index 70ab30f5a..d44267fa0 100644 --- a/config/initializers/honeybadger.rb +++ b/config/initializers/honeybadger.rb @@ -17,6 +17,8 @@ Honeybadger.configure do |config| notice.error_message elsif notice.error_message&.include?("BANNED") "banned" + elsif notice.error_message&.include?("Rack::Timeout::RequestTimeoutException") + "rack_timeout" elsif notice.component&.include?("internal") "internal" end diff --git a/spec/initializers/honeybadger_spec.rb b/spec/initializers/honeybadger_spec.rb index b091799ce..cab49aa26 100644 --- a/spec/initializers/honeybadger_spec.rb +++ b/spec/initializers/honeybadger_spec.rb @@ -21,6 +21,16 @@ describe Honeybadger do end end + context "when Rack::Timeout::RequestTimeoutException is raised" do + it "sets fingerprint to rack_timeout" do + notice = Honeybadger::Notice.new( + described_class.config, error_message: "Rack::Timeout::RequestTimeoutException happened" + ) + described_class.config.before_notify_hooks.first.call(notice) + expect(notice.fingerprint).to eq("rack_timeout") + end + end + context "when error is raised from an internal route" do it "halts notification" do notice = Honeybadger::Notice.new(