Sha256: d4a6f1a0a20d21147b4baa47aa3b5c3530c700590a377119d96690fc4a663444

Contents?: true

Size: 1.66 KB

Versions: 21

Compression:

Stored size: 1.66 KB

Contents

module Bugsnag::Middleware
  class Rails2Request
    def initialize(bugsnag)
      @bugsnag = bugsnag
    end

    def call(notification)
      if notification.request_data[:rails2_request]
        request = notification.request_data[:rails2_request]
        params = request.parameters || {}
        session_data = request.session.respond_to?(:to_hash) ? request.session.to_hash : request.session.data

        # Set the context
        notification.context = "#{params[:controller]}##{params[:action]}"

        # Set a sensible default for user_id
        notification.user_id = request.remote_ip if request.respond_to?(:remote_ip)

        # Build the clean url
        url = "#{request.protocol}#{request.host}"
        url << ":#{request.port}" unless [80, 443].include?(request.port)
        url << Bugsnag::Helpers.cleanup_url(request.fullpath, notification.configuration.params_filters)

        # Add a request tab
        notification.add_tab(:request, {
          :url => url,
          :params => params.to_hash,
          :controller => params[:controller],
          :action => params[:action]
        })

        # Add an environment tab
        if request.env && notification.configuration.send_environment
          notification.add_tab(:environment, request.env)
        end

        # Add a session tab
        notification.add_tab(:session, session_data) if session_data

        # Add a cookies tab
        notification.add_tab(:cookies, request.cookies) if request.cookies

        # Add the rails version
        notification.add_tab(:environment, {
          :railsVersion => Rails::VERSION::STRING
        })
      end

      @bugsnag.call(notification)
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
bugsnag-2.8.13 lib/bugsnag/middleware/rails2_request.rb
bugsnag-maglev--2.8.12 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.12 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.11 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.10 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.9 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.8 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.7 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.6 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.5 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.4 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.3 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.2 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.1 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.8.0 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.7.1 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.7.0 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.6.1 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.6.0 lib/bugsnag/middleware/rails2_request.rb
bugsnag-2.5.1 lib/bugsnag/middleware/rails2_request.rb