class SentryRealIp::Middleware
Public Class Methods
new(app)
click to toggle source
# File lib/sentry_real_ip/middleware.rb, line 3 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/sentry_real_ip/middleware.rb, line 7 def call(env) real_ip = determine_real_ip(env) if real_ip user_context = { ip_address: real_ip }.merge(Raven.context.user) Raven.user_context(user_context) end @app.call(env) end
Private Instance Methods
determine_real_ip(env)
click to toggle source
# File lib/sentry_real_ip/middleware.rb, line 18 def determine_real_ip(env) real_ip = env['HTTP_X_FORWARDED_FOR'] || env['HTTP_X_REAL_IP'] real_ip.split(',').first.strip if real_ip && !real_ip.empty? end