Class: ActionDispatch::RemoteIp
- Inherits:
-
Object
- Object
- ActionDispatch::RemoteIp
- Defined in:
- lib/action_dispatch/middleware/remote_ip.rb
Defined Under Namespace
Classes: IpSpoofAttackError, RemoteIpGetter
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, check_ip_spoofing = true, trusted_proxies = nil) ⇒ RemoteIp
constructor
A new instance of RemoteIp.
Constructor Details
#initialize(app, check_ip_spoofing = true, trusted_proxies = nil) ⇒ RemoteIp
Returns a new instance of RemoteIp.
38 39 40 41 42 43 44 |
# File 'lib/action_dispatch/middleware/remote_ip.rb', line 38 def initialize(app, check_ip_spoofing = true, trusted_proxies = nil) @app = app @check_ip_spoofing = check_ip_spoofing regex = '(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)' regex << "|(#{trusted_proxies})" if trusted_proxies @trusted_proxies = Regexp.new(regex, "i") end |
Instance Method Details
#call(env) ⇒ Object
46 47 48 49 |
# File 'lib/action_dispatch/middleware/remote_ip.rb', line 46 def call(env) env["action_dispatch.remote_ip"] = RemoteIpGetter.new(env, @check_ip_spoofing, @trusted_proxies) @app.call(env) end |