rack-subdomain 0.2.1 → 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.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +6 -6
- data/Rakefile +0 -1
- data/lib/rack/subdomain.rb +15 -4
- data/rack-subdomain-0.2.1.gem +0 -0
- data/rack-subdomain.gemspec +4 -6
- metadata +31 -64
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5959d46b21502dbf6990dbf7e52638f717cad88c
|
4
|
+
data.tar.gz: 6f1690afc1a59e46fb1180ea11c07d64e112ebdd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4080b6caf3b42ba6df5e5f17471edd2341d3dae3ec5cb9863555be2f1da209b3f83dd13fdc06d25663e0550995e88d6b3ccf7b4a2e1206ae9f79f2469d72a026
|
7
|
+
data.tar.gz: 2f14cf9749e2fb0665b7a3adee42cd95dfc7b88a2c6df60ad57bb49f19ff0f3fc1e63b7c960b64d078b810289ed169c07ec8fab0b3c773bc83ebae641574fffd
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rack-subdomain (0.
|
4
|
+
rack-subdomain (0.3.0)
|
5
5
|
rack (>= 1.2.0, <= 2.0.0)
|
6
6
|
|
7
7
|
GEM
|
8
|
-
remote:
|
8
|
+
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
minitest (2.11.4)
|
11
11
|
rack (1.4.1)
|
@@ -18,8 +18,8 @@ PLATFORMS
|
|
18
18
|
ruby
|
19
19
|
|
20
20
|
DEPENDENCIES
|
21
|
-
minitest (~> 2.11
|
21
|
+
minitest (~> 2.11)
|
22
22
|
rack-subdomain!
|
23
|
-
rack-test (~> 0.6
|
24
|
-
rake
|
25
|
-
rspec
|
23
|
+
rack-test (~> 0.6)
|
24
|
+
rake
|
25
|
+
rspec
|
data/Rakefile
CHANGED
data/lib/rack/subdomain.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Rack
|
2
2
|
class Subdomain
|
3
|
-
VERSION = '0.
|
3
|
+
VERSION = '0.3.0'
|
4
4
|
|
5
5
|
def initialize(app, domain, options = {}, &block)
|
6
6
|
# Maintain compatibility with previous rack-subdomain gem
|
@@ -20,7 +20,7 @@ module Rack
|
|
20
20
|
raise ArgumentError, "missing `:to` option or block to define mapping"
|
21
21
|
end
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def call(env)
|
25
25
|
@env = env
|
26
26
|
@subdomain = subdomain
|
@@ -49,13 +49,24 @@ module Rack
|
|
49
49
|
|
50
50
|
private
|
51
51
|
|
52
|
+
def domain
|
53
|
+
case @domain
|
54
|
+
when Proc
|
55
|
+
@domain.call(@env['HTTP_HOST'])
|
56
|
+
when Regexp
|
57
|
+
@domain.match(@env['HTTP_HOST'])
|
58
|
+
else
|
59
|
+
@domain
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
52
63
|
def subdomain
|
53
|
-
@env['HTTP_HOST'].sub(/\.?#{
|
64
|
+
@env['HTTP_HOST'].sub(/\.?#{domain}.*$/,'') unless @env['HTTP_HOST'].match(/^localhost/)
|
54
65
|
end
|
55
66
|
|
56
67
|
def remap_with_substituted_path!(path)
|
57
68
|
scheme = @env["rack.url_scheme"]
|
58
|
-
host = "#{@subdomain}.#{
|
69
|
+
host = "#{@subdomain}.#{domain}"
|
59
70
|
port = ":#{@env['SERVER_PORT']}" unless @env['SERVER_PORT'] == '80'
|
60
71
|
path = @env["PATH_INFO"] = ::File.join(path, @env["PATH_INFO"])
|
61
72
|
query_string = "?" + @env["QUERY_STRING"] unless @env["QUERY_STRING"].empty?
|
Binary file
|
data/rack-subdomain.gemspec
CHANGED
@@ -12,14 +12,12 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.summary = "rack-subdomain"
|
13
13
|
s.description = "Rack middleware to route requests with subdomains to specified routes with substitutions"
|
14
14
|
|
15
|
-
s.add_development_dependency "rspec", "~> 0.6.1"
|
16
|
-
s.add_development_dependency "rake", "~> 0.9.2"
|
17
|
-
|
18
15
|
s.add_runtime_dependency "rack", ">= 1.2.0", "<= 2.0.0"
|
19
16
|
|
20
|
-
s.add_development_dependency "
|
21
|
-
s.add_development_dependency "
|
22
|
-
s.add_development_dependency "
|
17
|
+
s.add_development_dependency "rspec"
|
18
|
+
s.add_development_dependency "rake"
|
19
|
+
s.add_development_dependency "minitest", "~> 2.11"
|
20
|
+
s.add_development_dependency "rack-test", "~> 0.6"
|
23
21
|
|
24
22
|
s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|log|pkg|script|spec|test|vendor)/ }
|
25
23
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-subdomain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mattt Thompson
|
@@ -10,44 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2013-05-24 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: rspec
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
|
-
requirements:
|
20
|
-
- - ~>
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.6.1
|
23
|
-
type: :development
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
|
-
requirements:
|
28
|
-
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: 0.6.1
|
31
|
-
- !ruby/object:Gem::Dependency
|
32
|
-
name: rake
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
|
-
requirements:
|
36
|
-
- - ~>
|
37
|
-
- !ruby/object:Gem::Version
|
38
|
-
version: 0.9.2
|
39
|
-
type: :development
|
40
|
-
prerelease: false
|
41
|
-
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
|
-
requirements:
|
44
|
-
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 0.9.2
|
47
14
|
- !ruby/object:Gem::Dependency
|
48
15
|
name: rack
|
49
16
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
17
|
requirements:
|
52
18
|
- - ! '>='
|
53
19
|
- !ruby/object:Gem::Version
|
@@ -58,7 +24,6 @@ dependencies:
|
|
58
24
|
type: :runtime
|
59
25
|
prerelease: false
|
60
26
|
version_requirements: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
27
|
requirements:
|
63
28
|
- - ! '>='
|
64
29
|
- !ruby/object:Gem::Version
|
@@ -67,53 +32,61 @@ dependencies:
|
|
67
32
|
- !ruby/object:Gem::Version
|
68
33
|
version: 2.0.0
|
69
34
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
35
|
+
name: rspec
|
71
36
|
requirement: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
37
|
requirements:
|
74
|
-
- -
|
38
|
+
- - ! '>='
|
75
39
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
40
|
+
version: '0'
|
77
41
|
type: :development
|
78
42
|
prerelease: false
|
79
43
|
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
44
|
requirements:
|
82
|
-
- -
|
45
|
+
- - ! '>='
|
83
46
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
47
|
+
version: '0'
|
85
48
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
49
|
+
name: rake
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: minitest
|
87
64
|
requirement: !ruby/object:Gem::Requirement
|
88
|
-
none: false
|
89
65
|
requirements:
|
90
66
|
- - ~>
|
91
67
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
68
|
+
version: '2.11'
|
93
69
|
type: :development
|
94
70
|
prerelease: false
|
95
71
|
version_requirements: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
72
|
requirements:
|
98
73
|
- - ~>
|
99
74
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
75
|
+
version: '2.11'
|
101
76
|
- !ruby/object:Gem::Dependency
|
102
|
-
name:
|
77
|
+
name: rack-test
|
103
78
|
requirement: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
79
|
requirements:
|
106
80
|
- - ~>
|
107
81
|
- !ruby/object:Gem::Version
|
108
|
-
version: 0.
|
82
|
+
version: '0.6'
|
109
83
|
type: :development
|
110
84
|
prerelease: false
|
111
85
|
version_requirements: !ruby/object:Gem::Requirement
|
112
|
-
none: false
|
113
86
|
requirements:
|
114
87
|
- - ~>
|
115
88
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.
|
89
|
+
version: '0.6'
|
117
90
|
description: Rack middleware to route requests with subdomains to specified routes
|
118
91
|
with substitutions
|
119
92
|
email: m@mattt.me
|
@@ -126,37 +99,31 @@ files:
|
|
126
99
|
- ./lib/rack/subdomain.rb
|
127
100
|
- ./lib/rack-subdomain.rb
|
128
101
|
- ./LICENSE
|
102
|
+
- ./rack-subdomain-0.2.1.gem
|
129
103
|
- ./rack-subdomain.gemspec
|
130
104
|
- ./Rakefile
|
131
105
|
- ./README.md
|
132
106
|
homepage: http://github.com/mattt/rack-subdomain
|
133
107
|
licenses: []
|
108
|
+
metadata: {}
|
134
109
|
post_install_message:
|
135
110
|
rdoc_options: []
|
136
111
|
require_paths:
|
137
112
|
- lib
|
138
113
|
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
-
none: false
|
140
114
|
requirements:
|
141
115
|
- - ! '>='
|
142
116
|
- !ruby/object:Gem::Version
|
143
117
|
version: '0'
|
144
|
-
segments:
|
145
|
-
- 0
|
146
|
-
hash: -539744315784908145
|
147
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
119
|
requirements:
|
150
120
|
- - ! '>='
|
151
121
|
- !ruby/object:Gem::Version
|
152
122
|
version: '0'
|
153
|
-
segments:
|
154
|
-
- 0
|
155
|
-
hash: -539744315784908145
|
156
123
|
requirements: []
|
157
124
|
rubyforge_project:
|
158
|
-
rubygems_version:
|
125
|
+
rubygems_version: 2.0.3
|
159
126
|
signing_key:
|
160
|
-
specification_version:
|
127
|
+
specification_version: 4
|
161
128
|
summary: rack-subdomain
|
162
129
|
test_files: []
|