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

#hostObject



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_hostObject



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

def normalized_host; @normalizer.call(host) end

#normalized_urlObject



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

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

#pathObject



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

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

#queryObject



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

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

#raw_pathObject



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

def raw_path; @env['PATH_INFO'] end

#raw_queryObject



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

def raw_query; @env['QUERY_STRING'] end

#schemeObject



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

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

#verbObject



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

def verb; @env['REQUEST_METHOD'] end