Module: Bp3::ActionDispatch::RequestHost

Defined in:
lib/bp3/action_dispatch/request_host.rb

Instance Method Summary collapse

Instance Method Details

#forwarded_hostObject (private)



15
16
17
# File 'lib/bp3/action_dispatch/request_host.rb', line 15

def forwarded_host
  @forwarded_host ||= env['X-Forwarded-Host']
end

#ip_address?(host) ⇒ Boolean (private)

Returns:

  • (Boolean)


23
24
25
26
27
28
29
# File 'lib/bp3/action_dispatch/request_host.rb', line 23

def ip_address?(host)
  return false if host.blank?
  return true if Resolv::IPv4::Regex.match?(host)
  return true if Resolv::IPv6::Regex.match?(host)

  false
end

#normalized_hostObject



6
7
8
9
10
11
# File 'lib/bp3/action_dispatch/request_host.rb', line 6

def normalized_host
  return host if valid_host?(host)
  return forwarded_host if valid_host?(forwarded_host)

  host
end

#valid_host?(host) ⇒ Boolean (private)

Returns:

  • (Boolean)


19
20
21
# File 'lib/bp3/action_dispatch/request_host.rb', line 19

def valid_host?(host)
  host.present? && !ip_address?(host)
end