Module: Rack::CloudflareMiddleware
- Defined in:
- lib/rack/cloudflare_middleware.rb,
lib/rack/cloudflare_middleware/version.rb,
lib/rack/cloudflare_middleware/deny_others.rb,
lib/rack/cloudflare_middleware/trusted_ips.rb,
lib/rack/cloudflare_middleware/rewrite_remote_addr.rb
Defined Under Namespace
Classes: DenyOthers, RewriteRemoteAddr, TrustedIps
Constant Summary collapse
- VERSION =
"3.0.0"
Class Method Summary collapse
Class Method Details
.get_remote_addr(env, trust_xff_if_private) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/rack/cloudflare_middleware.rb', line 12 def self.get_remote_addr(env, trust_xff_if_private) if trust_xff_if_private && IPAddr.new(env["REMOTE_ADDR"]).private? && !env["HTTP_X_FORWARDED_FOR"].nil? && env["HTTP_X_FORWARDED_FOR"] != "" IPAddr.new(env["HTTP_X_FORWARDED_FOR"].split(",")&.last&.strip) else IPAddr.new(env["REMOTE_ADDR"]) end end |