rack-strip-www 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/rack/strip-www.rb +3 -34
  2. metadata +28 -10
@@ -1,38 +1,7 @@
1
- require 'rack'
2
- require 'uri'
1
+ require 'rack/normalize-domain'
3
2
 
4
- class Rack::StripWWW
3
+ class Rack::StripWWW < Rack::NormalizeDomain
5
4
  def initialize(app)
6
- @app = app
7
- end
8
-
9
- def call(env)
10
- if env['REQUEST_METHOD'] != 'GET'
11
- @app.call(env)
12
- else
13
- host = env['HTTP_HOST'] || env['SERVER_NAME']
14
- stripped_host = strip_www(host)
15
-
16
- if stripped_host == host
17
- @app.call(env)
18
- else
19
- scheme = env['rack.url_scheme']
20
- path = env['PATH_INFO']
21
- path = '' if path == '/'
22
- query = env['QUERY_STRING']
23
- query = '?' + query unless query == ''
24
- new_url = "#{scheme}://#{stripped_host}#{path}#{query}"
25
- [301, { 'Location' => new_url }, new_url]
26
- end
27
- end
28
- end
29
-
30
- def strip_www(host)
31
- case host
32
- when /^www\.(([^.]+\.){1,2}[a-z]+)$/
33
- $1
34
- else
35
- host
36
- end
5
+ super app, :strip_www
37
6
  end
38
7
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-strip-www
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 19
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
- - 2
8
+ - 3
8
9
  - 0
9
- version: 0.2.0
10
+ version: 0.3.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Daniel Brockman
@@ -14,10 +15,24 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-10-07 00:00:00 +02:00
18
- default_executable:
19
- dependencies: []
20
-
18
+ date: 2011-05-25 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rack-normalize-domain
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 29
29
+ segments:
30
+ - 0
31
+ - 0
32
+ - 1
33
+ version: 0.0.1
34
+ type: :runtime
35
+ version_requirements: *id001
21
36
  description:
22
37
  email:
23
38
  - daniel@brockman.se
@@ -29,8 +44,7 @@ extra_rdoc_files: []
29
44
 
30
45
  files:
31
46
  - lib/rack/strip-www.rb
32
- has_rdoc: true
33
- homepage: http://github.com/dbrock/rack-strip-www
47
+ homepage: http://github.com/dbrock/rack-normalize-domain
34
48
  licenses: []
35
49
 
36
50
  post_install_message:
@@ -39,23 +53,27 @@ rdoc_options: []
39
53
  require_paths:
40
54
  - lib
41
55
  required_ruby_version: !ruby/object:Gem::Requirement
56
+ none: false
42
57
  requirements:
43
58
  - - ">="
44
59
  - !ruby/object:Gem::Version
60
+ hash: 3
45
61
  segments:
46
62
  - 0
47
63
  version: "0"
48
64
  required_rubygems_version: !ruby/object:Gem::Requirement
65
+ none: false
49
66
  requirements:
50
67
  - - ">="
51
68
  - !ruby/object:Gem::Version
69
+ hash: 3
52
70
  segments:
53
71
  - 0
54
72
  version: "0"
55
73
  requirements: []
56
74
 
57
75
  rubyforge_project:
58
- rubygems_version: 1.3.6
76
+ rubygems_version: 1.7.2
59
77
  signing_key:
60
78
  specification_version: 3
61
79
  summary: Rack middleware that redirects www.example.com to example.com.