Class: CanonicalHost

Inherits:
Object
  • Object
show all
Defined in:
lib/canonical_host.rb

Overview

Rack middleware to redirect to canonical hosts from www and other ugly subdomain names

Examples:

redirects to canonical host

use CanonicalHost, 'example.com'

See Also:

Author:

Instance Method Summary collapse

Constructor Details

#initialize(app, host = nil, &block) ⇒ CanonicalHost

Returns a new instance of CanonicalHost.



7
8
9
10
# File 'lib/canonical_host.rb', line 7

def initialize(app, host=nil, &block)
  @app = app
  @host = (block_given? && block.call) || host
end

Instance Method Details

#call(env) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/canonical_host.rb', line 12

def call(env)
  if url = url(env)
    [301, { 'Location' => url }, ['Redirecting...']]
  else
    @app.call(env)
  end
end