Class: Rack::NormalizeDomain::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/normalize-domain.rb

Instance Method Summary collapse

Constructor Details

#initialize(normalizer, env) ⇒ Request

Returns a new instance of Request.



37
38
39
40
# File 'lib/rack/normalize-domain.rb', line 37

def initialize(normalizer, env)
  @normalizer = normalizer
  @env = env
end

Instance Method Details

#already_normalized? ⇒ Boolean

Returns:

  • (Boolean)


50
# File 'lib/rack/normalize-domain.rb', line 50

def already_normalized?; host == normalized_host end

#host ⇒ Object



57
# File 'lib/rack/normalize-domain.rb', line 57

def host; @env['HTTP_HOST'] || @env['SERVER_NAME'] end

#http_get? ⇒ Boolean

Returns:

  • (Boolean)


53
# File 'lib/rack/normalize-domain.rb', line 53

def http_get?; verb == 'GET' end

#needs_normalization? ⇒ Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/rack/normalize-domain.rb', line 42

def needs_normalization?
  http_get? and not already_normalized?
end

#normalized_host ⇒ Object



51
# File 'lib/rack/normalize-domain.rb', line 51

def normalized_host; @normalizer.call(host) end

#normalized_url ⇒ Object



46
47
48
# File 'lib/rack/normalize-domain.rb', line 46

def normalized_url
  "#{scheme}://#{normalized_host}#{path}#{query}"
end

#path ⇒ Object



59
# File 'lib/rack/normalize-domain.rb', line 59

def path; raw_path == '/' ? '' : raw_path end

#query ⇒ Object



60
# File 'lib/rack/normalize-domain.rb', line 60

def query; raw_query == '' ? '' : "?#{raw_query}" end

#raw_path ⇒ Object



62
# File 'lib/rack/normalize-domain.rb', line 62

def raw_path; @env['PATH_INFO'] end

#raw_query ⇒ Object



63
# File 'lib/rack/normalize-domain.rb', line 63

def raw_query; @env['QUERY_STRING'] end

#scheme ⇒ Object



56
# File 'lib/rack/normalize-domain.rb', line 56

def scheme; @env['rack.url_scheme'] end

#verb ⇒ Object



54
# File 'lib/rack/normalize-domain.rb', line 54

def verb; @env['REQUEST_METHOD'] end