diff --git a/lib/no_rails_middleware.rb b/lib/no_rails_middleware.rb new file mode 100644 index 00000000..3f7461c5 --- /dev/null +++ b/lib/no_rails_middleware.rb @@ -0,0 +1,9 @@ +# When required in the application's Gemfile, this prevents the Rollbar +# middleware from being inserted into the Rails middleware stack. +# +# ex: +# `gem 'rollbar', require: ['no_rails_middleware', 'rollbar']` +# +module Rollbar + NO_RAILS_MIDDLEWARE = true +end diff --git a/lib/rollbar/plugins/rails/railtie32.rb b/lib/rollbar/plugins/rails/railtie32.rb index 0751bfd7..1060b584 100644 --- a/lib/rollbar/plugins/rails/railtie32.rb +++ b/lib/rollbar/plugins/rails/railtie32.rb @@ -9,8 +9,10 @@ class Railtie < ::Rails::Railtie require 'rollbar/middleware/rails/rollbar' require 'rollbar/middleware/rails/show_exceptions' - app.config.middleware.insert_after ActionDispatch::DebugExceptions, - Rollbar::Middleware::Rails::RollbarMiddleware + unless defined?(Rollbar::NO_RAILS_MIDDLEWARE) && Rollbar::NO_RAILS_MIDDLEWARE + app.config.middleware.insert_after ActionDispatch::DebugExceptions, + Rollbar::Middleware::Rails::RollbarMiddleware + end ActionDispatch::DebugExceptions.send(:include, Rollbar::Middleware::Rails::ShowExceptions) end