Sha256: 585dce13869abb7383c9a916cd172907e8efddd13f5e925f562eb861632126d6

Contents?: true

Size: 580 Bytes

Versions: 1

Compression:

Stored size: 580 Bytes

Contents

module Rack
  module SeoRedirect
    class Www < Base
      def initialize app, www = false
        super(app)
        @should_starts_from_www = www
      end

      def call env
        @env = env

        starts_from_www = !!(request.host =~ /\Awww.(.*)\z/)

        if request.get? && @should_starts_from_www != starts_from_www
          host = @should_starts_from_www ? "www.#{request.host}" : $1
          url = build_url(:host => host)

          [ 301, headers(url), [ redirect_message(url) ] ]
        else
          @app.call(env)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rack-seo_redirect-0.0.1 lib/rack/seo_redirect/www.rb