rack-ssl-enforcer 0.1.1 → 0.1.2
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.
- data/README.rdoc +4 -0
- data/VERSION +1 -1
- data/lib/rack-ssl-enforcer.rb +2 -2
- data/rack-ssl-enforcer.gemspec +4 -4
- data/test/test_rack-ssl-enforcer.rb +19 -0
- metadata +11 -4
data/README.rdoc
CHANGED
@@ -26,6 +26,10 @@ You might need the :redirect_to option if the requested URL can't be determined
|
|
26
26
|
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
27
27
|
* Send me a pull request. Bonus points for topic branches.
|
28
28
|
|
29
|
+
== Thanks!
|
30
|
+
|
31
|
+
* To {Dan Mayer}[http://github.com/danmayer] for making proxied ssl setups work
|
32
|
+
|
29
33
|
== Copyright
|
30
34
|
|
31
35
|
Copyright (c) 2010 Tobias Matthies. See LICENSE for details.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/lib/rack-ssl-enforcer.rb
CHANGED
data/rack-ssl-enforcer.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rack-ssl-enforcer}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tobias Matthies"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-07-30}
|
13
13
|
s.email = %q{tm@mit2m.de}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
s.homepage = %q{http://github.com/tobmatth/rack-ssl-enforcer}
|
31
31
|
s.rdoc_options = ["--charset=UTF-8"]
|
32
32
|
s.require_paths = ["lib"]
|
33
|
-
s.rubygems_version = %q{1.3.
|
33
|
+
s.rubygems_version = %q{1.3.7}
|
34
34
|
s.summary = %q{A simple Rack middleware to enforce SSL}
|
35
35
|
s.test_files = [
|
36
36
|
"test/helper.rb",
|
@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
|
|
41
41
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
42
42
|
s.specification_version = 3
|
43
43
|
|
44
|
-
if Gem::Version.new(Gem::
|
44
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
45
45
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
46
46
|
else
|
47
47
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
@@ -21,12 +21,31 @@ class TestRackSslEnforcer < Test::Unit::TestCase
|
|
21
21
|
assert_equal 301, response.status
|
22
22
|
assert_equal response.location, 'https://www.example.org/'
|
23
23
|
end
|
24
|
+
|
25
|
+
#heroku / etc do proxied SSL
|
26
|
+
#http://github.com/pivotal/refraction/issues/issue/2
|
27
|
+
should 'respect X-Forwarded-Proto header for proxied SSL' do
|
28
|
+
response = @request.get('http://www.example.org/',
|
29
|
+
{'HTTP_X_FORWARDED_PROTO' => 'http',
|
30
|
+
'rack.url_scheme' => 'http'})
|
31
|
+
assert_equal 301, response.status
|
32
|
+
assert_equal response.location, 'https://www.example.org/'
|
33
|
+
end
|
24
34
|
|
25
35
|
should 'respond not redirect ssl requests' do
|
26
36
|
response = @request.get('https://www.example.org/', {})
|
27
37
|
assert_equal 200, response.status
|
28
38
|
assert_equal response.body, 'Hello world!'
|
29
39
|
end
|
40
|
+
|
41
|
+
should 'respond not redirect ssl requests and respect X-Forwarded-Proto header for proxied SSL' do
|
42
|
+
response = @request.get('http://www.example.org/',
|
43
|
+
{'HTTP_X_FORWARDED_PROTO' => 'https',
|
44
|
+
'rack.url_scheme' => 'http'})
|
45
|
+
assert_equal 200, response.status
|
46
|
+
assert_equal response.body, 'Hello world!'
|
47
|
+
end
|
48
|
+
|
30
49
|
end
|
31
50
|
|
32
51
|
context 'that has :redirect_to set' do
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-ssl-enforcer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 31
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Tobias Matthies
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-07-30 00:00:00 +02:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: thoughtbot-shoulda
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
version: "0"
|
@@ -59,23 +62,27 @@ rdoc_options:
|
|
59
62
|
require_paths:
|
60
63
|
- lib
|
61
64
|
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
62
66
|
requirements:
|
63
67
|
- - ">="
|
64
68
|
- !ruby/object:Gem::Version
|
69
|
+
hash: 3
|
65
70
|
segments:
|
66
71
|
- 0
|
67
72
|
version: "0"
|
68
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
69
75
|
requirements:
|
70
76
|
- - ">="
|
71
77
|
- !ruby/object:Gem::Version
|
78
|
+
hash: 3
|
72
79
|
segments:
|
73
80
|
- 0
|
74
81
|
version: "0"
|
75
82
|
requirements: []
|
76
83
|
|
77
84
|
rubyforge_project:
|
78
|
-
rubygems_version: 1.3.
|
85
|
+
rubygems_version: 1.3.7
|
79
86
|
signing_key:
|
80
87
|
specification_version: 3
|
81
88
|
summary: A simple Rack middleware to enforce SSL
|