Skip to content
This repository

middleware for posting exceptions to

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Rakefile
Octocat-spinner-32 TODO
Octocat-spinner-32 rack_hoptoad.gemspec


A gem that provides exception notifications to hoptoad/airbrake as rack middleware.


Throw something like this in your to enable notifications.

require 'rack/hoptoad'

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8'

You can also exclude certain sensitive environmental variables using the block syntax

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8' do |notifier|
  notifier.environment_filters << %w(MY_SECRET_KEY MY_SECRET_TOKEN)

If you want to post exceptions in an environment other than staging or production(the defaults)

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8' do |notifier|
  notifier.report_under << 'custom'

If you want to use an environmental variable other than RACK_ENV and still have it post

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8', 'MERB_ENV' do |notifier|
  notifier.report_under        << 'custom'
  notifier.environment_filters << %w(MY_SECRET_KEY MY_SECRET_TOKEN)


% sudo gem install rack_hoptoad


You need bundler 0.9.12 installed

% sudo gem install bundler
% bundle install
% MY_HOPTOAD_API_KEY=XXXXX bundle exec rake

Sinatra Notes

In order for exceptions to propagate up to Rack in Sinatra you need to enable raise_errors

class MyApp < Sinatra::Default
  enable :raise_errors

Note that the errors block does not execute so you'll need to handle the 500 elsewhere. Normally this is done with a 500.html in the document root.

Something went wrong with that request. Please try again.