rack-host-redirect 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rack/host_redirect.rb +5 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 367390cff2fac42a34e58511274cbdeec749d068
|
4
|
+
data.tar.gz: c808f4eeeb7ad5731fd669fce8b83aa4bac628ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2eb330822e766d44c6ca64858cc67ebda97d073f71f8df6175a677f5117682ea9334c80087e63987bf0c1a63ba6bd18ab45641b8655a0ad8763c1184edbdaab6
|
7
|
+
data.tar.gz: 15ea8109c47a94a2ad0f6b3bfeb63c1bf9ce9a6742b63360b34fe4057e55abe9ee909e8e6213c45e895b0d3f0f16da8596a343be90aaa0d96b5054b9631d5fc1
|
data/lib/rack/host_redirect.rb
CHANGED
@@ -10,11 +10,13 @@ class Rack::HostRedirect
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def call(env)
|
13
|
-
|
13
|
+
request = Rack::Request.new(env)
|
14
|
+
host = request.host.downcase # downcase for case-insensitive matching
|
15
|
+
|
14
16
|
updated_host = (@host_mapping && @host_mapping[host]) || (@block && @block.call(host, env))
|
15
17
|
|
16
18
|
if updated_host
|
17
|
-
redirect_to(updated_host,
|
19
|
+
redirect_to(updated_host, request)
|
18
20
|
else
|
19
21
|
@app.call(env)
|
20
22
|
end
|
@@ -26,8 +28,7 @@ class Rack::HostRedirect
|
|
26
28
|
hsh.inject({}) {|out, (k, v)| out[k.downcase] = v; out }
|
27
29
|
end
|
28
30
|
|
29
|
-
def redirect_to updated_host,
|
30
|
-
request = Rack::Request.new(env)
|
31
|
+
def redirect_to updated_host, request
|
31
32
|
location = URI.parse(request.url)
|
32
33
|
location.host = updated_host
|
33
34
|
[301, {'Location' => location.to_s}, []]
|