rack 1.4.7 → 1.5.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rack might be problematic. Click here for more details.
- data/README.rdoc +2 -30
- data/Rakefile +1 -0
- data/SPEC +68 -4
- data/example/protectedlobster.rb +1 -1
- data/lib/rack.rb +2 -14
- data/lib/rack/auth/abstract/request.rb +1 -5
- data/lib/rack/builder.rb +8 -4
- data/lib/rack/cascade.rb +2 -2
- data/lib/rack/config.rb +5 -0
- data/lib/rack/deflater.rb +2 -1
- data/lib/rack/file.rb +25 -28
- data/lib/rack/handler.rb +18 -5
- data/lib/rack/handler/mongrel.rb +1 -1
- data/lib/rack/handler/scgi.rb +1 -1
- data/lib/rack/handler/thin.rb +6 -3
- data/lib/rack/handler/webrick.rb +1 -0
- data/lib/rack/head.rb +2 -0
- data/lib/rack/lint.rb +132 -7
- data/lib/rack/lobster.rb +3 -3
- data/lib/rack/lock.rb +2 -0
- data/lib/rack/methodoverride.rb +0 -2
- data/lib/rack/mime.rb +29 -0
- data/lib/rack/multipart/parser.rb +0 -9
- data/lib/rack/request.rb +66 -25
- data/lib/rack/response.rb +1 -2
- data/lib/rack/sendfile.rb +18 -4
- data/lib/rack/server.rb +20 -12
- data/lib/rack/session/abstract/id.rb +60 -59
- data/lib/rack/session/cookie.rb +11 -16
- data/lib/rack/utils.rb +97 -85
- data/rack.gemspec +1 -6
- data/test/spec_builder.rb +7 -0
- data/test/spec_cgi.rb +1 -1
- data/test/spec_chunked.rb +3 -5
- data/test/spec_content_length.rb +3 -6
- data/test/spec_deflater.rb +26 -9
- data/test/spec_fastcgi.rb +1 -1
- data/test/spec_file.rb +24 -11
- data/test/spec_head.rb +3 -8
- data/test/spec_lint.rb +6 -6
- data/test/spec_lock.rb +4 -7
- data/test/spec_methodoverride.rb +4 -1
- data/test/spec_mime.rb +51 -0
- data/test/spec_mongrel.rb +1 -1
- data/test/spec_multipart.rb +15 -49
- data/test/spec_nulllogger.rb +3 -6
- data/test/spec_request.rb +112 -18
- data/test/spec_response.rb +8 -8
- data/test/spec_sendfile.rb +52 -13
- data/test/spec_server.rb +6 -0
- data/test/spec_session_abstract_id.rb +11 -1
- data/test/spec_session_cookie.rb +140 -153
- data/test/spec_thin.rb +6 -1
- data/test/spec_utils.rb +23 -17
- data/test/spec_webrick.rb +1 -1
- metadata +37 -83
- checksums.yaml +0 -7
- data/test/cgi/lighttpd.errors +0 -1
- data/test/multipart/three_files_three_fields +0 -31
- data/test/spec_auth.rb +0 -57
data/test/spec_thin.rb
CHANGED
@@ -11,7 +11,7 @@ describe Rack::Handler::Thin do
|
|
11
11
|
Thin::Logging.silent = true
|
12
12
|
|
13
13
|
@thread = Thread.new do
|
14
|
-
Rack::Handler::Thin.run(@app, :Host => @host='127.0.0.1', :Port => @port=9204) do |server|
|
14
|
+
Rack::Handler::Thin.run(@app, :Host => @host='127.0.0.1', :Port => @port=9204, :tag => "tag") do |server|
|
15
15
|
@server = server
|
16
16
|
end
|
17
17
|
end
|
@@ -77,8 +77,13 @@ describe Rack::Handler::Thin do
|
|
77
77
|
response["rack.url_scheme"].should.equal "http"
|
78
78
|
end
|
79
79
|
|
80
|
+
should "set tag for server" do
|
81
|
+
@server.tag.should.equal 'tag'
|
82
|
+
end
|
83
|
+
|
80
84
|
@server.stop!
|
81
85
|
@thread.kill
|
86
|
+
|
82
87
|
end
|
83
88
|
|
84
89
|
rescue LoadError
|
data/test/spec_utils.rb
CHANGED
@@ -123,18 +123,6 @@ describe Rack::Utils do
|
|
123
123
|
Rack::Utils.parse_query(",foo=bar;,", ";,").should.equal "foo" => "bar"
|
124
124
|
end
|
125
125
|
|
126
|
-
should "raise an exception if the params are too deep" do
|
127
|
-
len = Rack::Utils.param_depth_limit
|
128
|
-
|
129
|
-
lambda {
|
130
|
-
Rack::Utils.parse_nested_query("foo#{"[a]" * len}=bar")
|
131
|
-
}.should.raise(RangeError)
|
132
|
-
|
133
|
-
lambda {
|
134
|
-
Rack::Utils.parse_nested_query("foo#{"[a]" * (len - 1)}=bar")
|
135
|
-
}.should.not.raise
|
136
|
-
end
|
137
|
-
|
138
126
|
should "parse nested query strings correctly" do
|
139
127
|
Rack::Utils.parse_nested_query("foo").
|
140
128
|
should.equal "foo" => nil
|
@@ -284,6 +272,29 @@ describe Rack::Utils do
|
|
284
272
|
Rack::Utils.build_query(key => nil).should.equal Rack::Utils.escape(key)
|
285
273
|
end
|
286
274
|
|
275
|
+
should "parse q-values" do
|
276
|
+
# XXX handle accept-extension
|
277
|
+
Rack::Utils.q_values("foo;q=0.5,bar,baz;q=0.9").should.equal [
|
278
|
+
[ 'foo', 0.5 ],
|
279
|
+
[ 'bar', 1.0 ],
|
280
|
+
[ 'baz', 0.9 ]
|
281
|
+
]
|
282
|
+
end
|
283
|
+
|
284
|
+
should "select best quality match" do
|
285
|
+
Rack::Utils.best_q_match("text/html", %w[text/html]).should == "text/html"
|
286
|
+
|
287
|
+
# More specific matches are preferred
|
288
|
+
Rack::Utils.best_q_match("text/*;q=0.5,text/html;q=1.0", %w[text/html]).should == "text/html"
|
289
|
+
|
290
|
+
# Higher quality matches are preferred
|
291
|
+
Rack::Utils.best_q_match("text/*;q=0.5,text/plain;q=1.0", %w[text/plain text/html]).should == "text/plain"
|
292
|
+
|
293
|
+
# All else equal, the available mimes are preferred in order
|
294
|
+
Rack::Utils.best_q_match("text/*", %w[text/html text/plain]).should == "text/html"
|
295
|
+
Rack::Utils.best_q_match("text/plain,text/html", %w[text/html text/plain]).should == "text/html"
|
296
|
+
end
|
297
|
+
|
287
298
|
should "escape html entities [&><'\"/]" do
|
288
299
|
Rack::Utils.escape_html("foo").should.equal "foo"
|
289
300
|
Rack::Utils.escape_html("f&o").should.equal "f&o"
|
@@ -343,11 +354,6 @@ describe Rack::Utils do
|
|
343
354
|
Rack::Utils.bytesize("FOO\xE2\x82\xAC").should.equal 6
|
344
355
|
end
|
345
356
|
|
346
|
-
should "should perform constant time string comparison" do
|
347
|
-
Rack::Utils.secure_compare('a', 'a').should.equal true
|
348
|
-
Rack::Utils.secure_compare('a', 'b').should.equal false
|
349
|
-
end
|
350
|
-
|
351
357
|
should "return status code for integer" do
|
352
358
|
Rack::Utils.status_code(200).should.equal 200
|
353
359
|
end
|
data/test/spec_webrick.rb
CHANGED
@@ -33,7 +33,7 @@ describe Rack::Handler::WEBrick do
|
|
33
33
|
|
34
34
|
should "have rack headers" do
|
35
35
|
GET("/test")
|
36
|
-
response["rack.version"].should.equal [1,
|
36
|
+
response["rack.version"].should.equal [1,2]
|
37
37
|
response["rack.multithread"].should.be.true
|
38
38
|
response["rack.multiprocess"].should.be.false
|
39
39
|
response["rack.run_once"].should.be.false
|
metadata
CHANGED
@@ -1,107 +1,62 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0.beta.1
|
5
|
+
prerelease: 6
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Christian Neukirchen
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2013-01-11 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bacon
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: rake
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- -
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: '0'
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- -
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '0'
|
41
|
-
|
42
|
-
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: memcache-client
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: mongrel
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 1.2.0.pre2
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.2.0.pre2
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: thin
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
description: |
|
98
|
-
Rack provides a minimal, modular and adaptable interface for developing
|
46
|
+
description: ! 'Rack provides a minimal, modular and adaptable interface for developing
|
47
|
+
|
99
48
|
web applications in Ruby. By wrapping HTTP requests and responses in
|
49
|
+
|
100
50
|
the simplest way possible, it unifies and distills the API for web
|
51
|
+
|
101
52
|
servers, web frameworks, and software in between (the so-called
|
53
|
+
|
102
54
|
middleware) into a single method call.
|
103
55
|
|
56
|
+
|
104
57
|
Also see http://rack.github.com/.
|
58
|
+
|
59
|
+
'
|
105
60
|
email: chneukirchen@gmail.com
|
106
61
|
executables:
|
107
62
|
- rackup
|
@@ -110,11 +65,6 @@ extra_rdoc_files:
|
|
110
65
|
- README.rdoc
|
111
66
|
- KNOWN-ISSUES
|
112
67
|
files:
|
113
|
-
- COPYING
|
114
|
-
- KNOWN-ISSUES
|
115
|
-
- README.rdoc
|
116
|
-
- Rakefile
|
117
|
-
- SPEC
|
118
68
|
- bin/rackup
|
119
69
|
- contrib/rack.png
|
120
70
|
- contrib/rack.svg
|
@@ -123,7 +73,6 @@ files:
|
|
123
73
|
- example/lobster.ru
|
124
74
|
- example/protectedlobster.rb
|
125
75
|
- example/protectedlobster.ru
|
126
|
-
- lib/rack.rb
|
127
76
|
- lib/rack/auth/abstract/handler.rb
|
128
77
|
- lib/rack/auth/abstract/request.rb
|
129
78
|
- lib/rack/auth/basic.rb
|
@@ -147,7 +96,6 @@ files:
|
|
147
96
|
- lib/rack/directory.rb
|
148
97
|
- lib/rack/etag.rb
|
149
98
|
- lib/rack/file.rb
|
150
|
-
- lib/rack/handler.rb
|
151
99
|
- lib/rack/handler/cgi.rb
|
152
100
|
- lib/rack/handler/evented_mongrel.rb
|
153
101
|
- lib/rack/handler/fastcgi.rb
|
@@ -157,6 +105,7 @@ files:
|
|
157
105
|
- lib/rack/handler/swiftiplied_mongrel.rb
|
158
106
|
- lib/rack/handler/thin.rb
|
159
107
|
- lib/rack/handler/webrick.rb
|
108
|
+
- lib/rack/handler.rb
|
160
109
|
- lib/rack/head.rb
|
161
110
|
- lib/rack/lint.rb
|
162
111
|
- lib/rack/lobster.rb
|
@@ -165,10 +114,10 @@ files:
|
|
165
114
|
- lib/rack/methodoverride.rb
|
166
115
|
- lib/rack/mime.rb
|
167
116
|
- lib/rack/mock.rb
|
168
|
-
- lib/rack/multipart.rb
|
169
117
|
- lib/rack/multipart/generator.rb
|
170
118
|
- lib/rack/multipart/parser.rb
|
171
119
|
- lib/rack/multipart/uploaded_file.rb
|
120
|
+
- lib/rack/multipart.rb
|
172
121
|
- lib/rack/nulllogger.rb
|
173
122
|
- lib/rack/recursive.rb
|
174
123
|
- lib/rack/reloader.rb
|
@@ -187,7 +136,7 @@ files:
|
|
187
136
|
- lib/rack/static.rb
|
188
137
|
- lib/rack/urlmap.rb
|
189
138
|
- lib/rack/utils.rb
|
190
|
-
- rack.
|
139
|
+
- lib/rack.rb
|
191
140
|
- test/builder/anything.rb
|
192
141
|
- test/builder/comment.ru
|
193
142
|
- test/builder/end.ru
|
@@ -200,7 +149,6 @@ files:
|
|
200
149
|
- test/cgi/assets/javascripts/app.js
|
201
150
|
- test/cgi/assets/stylesheets/app.css
|
202
151
|
- test/cgi/lighttpd.conf
|
203
|
-
- test/cgi/lighttpd.errors
|
204
152
|
- test/cgi/rackup_stub.rb
|
205
153
|
- test/cgi/sample_rackup.ru
|
206
154
|
- test/cgi/test
|
@@ -228,11 +176,9 @@ files:
|
|
228
176
|
- test/multipart/none
|
229
177
|
- test/multipart/semicolon
|
230
178
|
- test/multipart/text
|
231
|
-
- test/multipart/three_files_three_fields
|
232
179
|
- test/multipart/webkit
|
233
180
|
- test/rackup/config.ru
|
234
181
|
- test/registering_handler/rack/handler/registering_myself.rb
|
235
|
-
- test/spec_auth.rb
|
236
182
|
- test/spec_auth_basic.rb
|
237
183
|
- test/spec_auth_digest.rb
|
238
184
|
- test/spec_body_proxy.rb
|
@@ -257,6 +203,7 @@ files:
|
|
257
203
|
- test/spec_lock.rb
|
258
204
|
- test/spec_logger.rb
|
259
205
|
- test/spec_methodoverride.rb
|
206
|
+
- test/spec_mime.rb
|
260
207
|
- test/spec_mock.rb
|
261
208
|
- test/spec_mongrel.rb
|
262
209
|
- test/spec_multipart.rb
|
@@ -284,31 +231,37 @@ files:
|
|
284
231
|
- test/testrequest.rb
|
285
232
|
- test/unregistered_handler/rack/handler/unregistered.rb
|
286
233
|
- test/unregistered_handler/rack/handler/unregistered_long_one.rb
|
234
|
+
- COPYING
|
235
|
+
- KNOWN-ISSUES
|
236
|
+
- rack.gemspec
|
237
|
+
- Rakefile
|
238
|
+
- README.rdoc
|
239
|
+
- SPEC
|
287
240
|
homepage: http://rack.github.com/
|
288
241
|
licenses: []
|
289
|
-
metadata: {}
|
290
242
|
post_install_message:
|
291
243
|
rdoc_options: []
|
292
244
|
require_paths:
|
293
245
|
- lib
|
294
246
|
required_ruby_version: !ruby/object:Gem::Requirement
|
247
|
+
none: false
|
295
248
|
requirements:
|
296
|
-
- -
|
249
|
+
- - ! '>='
|
297
250
|
- !ruby/object:Gem::Version
|
298
251
|
version: '0'
|
299
252
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
|
+
none: false
|
300
254
|
requirements:
|
301
|
-
- -
|
255
|
+
- - ! '>'
|
302
256
|
- !ruby/object:Gem::Version
|
303
|
-
version:
|
257
|
+
version: 1.3.1
|
304
258
|
requirements: []
|
305
259
|
rubyforge_project: rack
|
306
|
-
rubygems_version:
|
260
|
+
rubygems_version: 1.8.23
|
307
261
|
signing_key:
|
308
|
-
specification_version:
|
262
|
+
specification_version: 3
|
309
263
|
summary: a modular Ruby webserver interface
|
310
264
|
test_files:
|
311
|
-
- test/spec_auth.rb
|
312
265
|
- test/spec_auth_basic.rb
|
313
266
|
- test/spec_auth_digest.rb
|
314
267
|
- test/spec_body_proxy.rb
|
@@ -333,6 +286,7 @@ test_files:
|
|
333
286
|
- test/spec_lock.rb
|
334
287
|
- test/spec_logger.rb
|
335
288
|
- test/spec_methodoverride.rb
|
289
|
+
- test/spec_mime.rb
|
336
290
|
- test/spec_mock.rb
|
337
291
|
- test/spec_mongrel.rb
|
338
292
|
- test/spec_multipart.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: e3c31ab2a14865deb3a2572ffb4e5041805e03b6
|
4
|
-
data.tar.gz: 4c46599689ac47586891e494975865d24047c364
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 46969b1d5dd0866d2fe3bc407cd15d862ea6cdafb05260fa7c7f4fea7832c927e690de1a46e685ef0e52f0dafbbee19780fc164b27e672b2d598ff4ffd758565
|
7
|
-
data.tar.gz: 3ad91dddc637cd4e7285d4e4dee55aab4fad2c3327cb0dfa8b6e10fbb3d00643bb0a83985f3e28f6eafb9c9439cb9295d4d8d9e62f1a6f54013e626a55e05e44
|
data/test/cgi/lighttpd.errors
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
2015-06-16 14:11:43: (log.c.164) server started
|
@@ -1,31 +0,0 @@
|
|
1
|
-
--AaB03x
|
2
|
-
content-disposition: form-data; name="reply"
|
3
|
-
|
4
|
-
yes
|
5
|
-
--AaB03x
|
6
|
-
content-disposition: form-data; name="to"
|
7
|
-
|
8
|
-
people
|
9
|
-
--AaB03x
|
10
|
-
content-disposition: form-data; name="from"
|
11
|
-
|
12
|
-
others
|
13
|
-
--AaB03x
|
14
|
-
content-disposition: form-data; name="fileupload1"; filename="file1.jpg"
|
15
|
-
Content-Type: image/jpeg
|
16
|
-
Content-Transfer-Encoding: base64
|
17
|
-
|
18
|
-
/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
|
19
|
-
--AaB03x
|
20
|
-
content-disposition: form-data; name="fileupload2"; filename="file2.jpg"
|
21
|
-
Content-Type: image/jpeg
|
22
|
-
Content-Transfer-Encoding: base64
|
23
|
-
|
24
|
-
/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
|
25
|
-
--AaB03x
|
26
|
-
content-disposition: form-data; name="fileupload3"; filename="file3.jpg"
|
27
|
-
Content-Type: image/jpeg
|
28
|
-
Content-Transfer-Encoding: base64
|
29
|
-
|
30
|
-
/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
|
31
|
-
--AaB03x--
|
data/test/spec_auth.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'rack'
|
2
|
-
|
3
|
-
describe Rack::Auth do
|
4
|
-
it "should have all common authentication schemes" do
|
5
|
-
Rack::Auth.schemes.should.include? 'basic'
|
6
|
-
Rack::Auth.schemes.should.include? 'digest'
|
7
|
-
Rack::Auth.schemes.should.include? 'bearer'
|
8
|
-
Rack::Auth.schemes.should.include? 'token'
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should allow registration of new auth schemes" do
|
12
|
-
Rack::Auth.schemes.should.not.include "test"
|
13
|
-
Rack::Auth.add_scheme "test"
|
14
|
-
Rack::Auth.schemes.should.include "test"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
describe Rack::Auth::AbstractRequest do
|
19
|
-
it "should symbolize known auth schemes" do
|
20
|
-
env = Rack::MockRequest.env_for('/')
|
21
|
-
env['HTTP_AUTHORIZATION'] = 'Basic aXJyZXNwb25zaWJsZQ=='
|
22
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
23
|
-
req.scheme.should.equal :basic
|
24
|
-
|
25
|
-
|
26
|
-
env['HTTP_AUTHORIZATION'] = 'Digest aXJyZXNwb25zaWJsZQ=='
|
27
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
28
|
-
req.scheme.should.equal :digest
|
29
|
-
|
30
|
-
env['HTTP_AUTHORIZATION'] = 'Bearer aXJyZXNwb25zaWJsZQ=='
|
31
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
32
|
-
req.scheme.should.equal :bearer
|
33
|
-
|
34
|
-
env['HTTP_AUTHORIZATION'] = 'MAC aXJyZXNwb25zaWJsZQ=='
|
35
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
36
|
-
req.scheme.should.equal :mac
|
37
|
-
|
38
|
-
env['HTTP_AUTHORIZATION'] = 'Token aXJyZXNwb25zaWJsZQ=='
|
39
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
40
|
-
req.scheme.should.equal :token
|
41
|
-
|
42
|
-
env['HTTP_AUTHORIZATION'] = 'OAuth aXJyZXNwb25zaWJsZQ=='
|
43
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
44
|
-
req.scheme.should.equal :oauth
|
45
|
-
|
46
|
-
env['HTTP_AUTHORIZATION'] = 'OAuth2 aXJyZXNwb25zaWJsZQ=='
|
47
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
48
|
-
req.scheme.should.equal :oauth2
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should not symbolize unknown auth schemes" do
|
52
|
-
env = Rack::MockRequest.env_for('/')
|
53
|
-
env['HTTP_AUTHORIZATION'] = 'magic aXJyZXNwb25zaWJsZQ=='
|
54
|
-
req = Rack::Auth::AbstractRequest.new(env)
|
55
|
-
req.scheme.should == "magic"
|
56
|
-
end
|
57
|
-
end
|