Class: Rack::NormalizeDomain::Request
- Inherits:
-
Object
- Object
- Rack::NormalizeDomain::Request
- Defined in:
- lib/rack/normalize-domain.rb
Instance Method Summary collapse
- #already_normalized? ⇒ Boolean
- #host ⇒ Object
- #http_get? ⇒ Boolean
-
#initialize(normalizer, env) ⇒ Request
constructor
A new instance of Request.
- #needs_normalization? ⇒ Boolean
- #normalized_host ⇒ Object
- #normalized_url ⇒ Object
- #path ⇒ Object
- #query ⇒ Object
- #raw_path ⇒ Object
- #raw_query ⇒ Object
- #scheme ⇒ Object
- #verb ⇒ Object
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
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
53 |
# File 'lib/rack/normalize-domain.rb', line 53 def http_get?; verb == 'GET' end |
#needs_normalization? ⇒ 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 |