Sha256: 5490d513d684bf5326e107e6349a56560fcd5e2ee31fcd8642accc9399a3c2a3

Contents?: true

Size: 1.07 KB

Versions: 14

Compression:

Stored size: 1.07 KB

Contents

module Bugsnag::Middleware
  ##
  # Extracts and attaches rails and rack environment data to an error report
  class Rails3Request
    SPOOF = "[SPOOF]".freeze

    def initialize(bugsnag)
      @bugsnag = bugsnag
    end

    def call(report)
      if report.request_data[:rack_env]
        env = report.request_data[:rack_env]
        params = env["action_dispatch.request.parameters"]
        client_ip = env["action_dispatch.remote_ip"].to_s rescue SPOOF

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

          # Augment the request tab
          report.add_tab(:request, {
            :railsAction => "#{params[:controller]}##{params[:action]}",
            :params => params
          })
        end

        # Use action_dispatch.remote_ip for IP address fields and send request id
        report.add_tab(:request, {
          :clientIp => client_ip,
          :requestId => env["action_dispatch.request_id"]
        })

        report.user["id"] = client_ip
      end

      @bugsnag.call(report)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
bugsnag-6.22.1 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.21.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.20.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.19.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.18.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.17.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.16.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.15.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.14.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.13.1 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.13.0 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.12.2 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.12.1 lib/bugsnag/middleware/rails3_request.rb
bugsnag-6.12.0 lib/bugsnag/middleware/rails3_request.rb