rack 1.4.1 → 1.4.2
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/COPYING +1 -1
- data/KNOWN-ISSUES +9 -0
- data/README.rdoc +72 -7
- data/Rakefile +18 -11
- data/SPEC +3 -1
- data/contrib/rack.png +0 -0
- data/contrib/rack.svg +150 -0
- data/contrib/rdoc.css +412 -0
- data/lib/rack/auth/basic.rb +1 -1
- data/lib/rack/auth/digest/nonce.rb +1 -1
- data/lib/rack/backports/uri/common_18.rb +14 -28
- data/lib/rack/backports/uri/common_192.rb +14 -17
- data/lib/rack/backports/uri/common_193.rb +29 -0
- data/lib/rack/body_proxy.rb +10 -0
- data/lib/rack/builder.rb +1 -1
- data/lib/rack/cascade.rb +11 -0
- data/lib/rack/commonlogger.rb +18 -5
- data/lib/rack/deflater.rb +5 -1
- data/lib/rack/directory.rb +1 -1
- data/lib/rack/etag.rb +6 -3
- data/lib/rack/file.rb +13 -4
- data/lib/rack/head.rb +1 -0
- data/lib/rack/lint.rb +3 -1
- data/lib/rack/lock.rb +3 -4
- data/lib/rack/mime.rb +1 -1
- data/lib/rack/mock.rb +3 -2
- data/lib/rack/multipart.rb +2 -2
- data/lib/rack/multipart/parser.rb +6 -4
- data/lib/rack/reloader.rb +1 -1
- data/lib/rack/request.rb +2 -4
- data/lib/rack/response.rb +2 -1
- data/lib/rack/server.rb +28 -2
- data/lib/rack/session/abstract/id.rb +5 -0
- data/lib/rack/session/cookie.rb +9 -0
- data/lib/rack/static.rb +90 -8
- data/lib/rack/utils.rb +17 -10
- data/rack.gemspec +3 -3
- data/test/builder/line.ru +1 -0
- data/test/cgi/assets/folder/test.js +1 -0
- data/test/cgi/assets/fonts/font.eot +1 -0
- data/test/cgi/assets/images/image.png +1 -0
- data/test/cgi/assets/index.html +1 -0
- data/test/cgi/assets/javascripts/app.js +1 -0
- data/test/cgi/assets/stylesheets/app.css +1 -0
- data/test/spec_auth_basic.rb +8 -0
- data/test/spec_auth_digest.rb +14 -0
- data/test/spec_body_proxy.rb +4 -0
- data/test/spec_builder.rb +7 -1
- data/test/spec_cascade.rb +8 -0
- data/test/spec_chunked.rb +6 -6
- data/test/spec_config.rb +0 -1
- data/test/spec_content_length.rb +26 -13
- data/test/spec_content_type.rb +15 -5
- data/test/spec_deflater.rb +35 -17
- data/test/spec_directory.rb +20 -1
- data/test/spec_etag.rb +29 -13
- data/test/spec_file.rb +42 -25
- data/test/spec_head.rb +25 -7
- data/test/spec_lobster.rb +20 -5
- data/test/spec_lock.rb +46 -21
- data/test/spec_logger.rb +2 -7
- data/test/spec_methodoverride.rb +21 -22
- data/test/spec_mock.rb +12 -7
- data/test/spec_multipart.rb +29 -0
- data/test/spec_nulllogger.rb +13 -2
- data/test/spec_recursive.rb +12 -9
- data/test/spec_request.rb +2 -2
- data/test/spec_response.rb +30 -0
- data/test/spec_runtime.rb +15 -5
- data/test/spec_sendfile.rb +11 -8
- data/test/spec_server.rb +47 -0
- data/test/spec_session_cookie.rb +68 -1
- data/test/spec_session_memcache.rb +10 -8
- data/test/spec_session_pool.rb +13 -10
- data/test/spec_showexceptions.rb +9 -4
- data/test/spec_showstatus.rb +10 -5
- data/test/spec_static.rb +85 -9
- data/test/spec_urlmap.rb +10 -10
- data/test/spec_utils.rb +14 -1
- data/test/static/another/index.html +1 -0
- metadata +21 -8
data/test/spec_utils.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require 'rack/utils'
|
3
3
|
require 'rack/mock'
|
4
|
+
require 'timeout'
|
4
5
|
|
5
6
|
describe Rack::Utils do
|
6
7
|
|
@@ -112,6 +113,14 @@ describe Rack::Utils do
|
|
112
113
|
Rack::Utils.parse_query("my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F").
|
113
114
|
should.equal "my weird field" => "q1!2\"'w$5&7/z8)?"
|
114
115
|
Rack::Utils.parse_query("foo%3Dbaz=bar").should.equal "foo=baz" => "bar"
|
116
|
+
Rack::Utils.parse_query("=").should.equal "" => ""
|
117
|
+
Rack::Utils.parse_query("=value").should.equal "" => "value"
|
118
|
+
Rack::Utils.parse_query("key=").should.equal "key" => ""
|
119
|
+
Rack::Utils.parse_query("&key&").should.equal "key" => nil
|
120
|
+
Rack::Utils.parse_query(";key;", ";,").should.equal "key" => nil
|
121
|
+
Rack::Utils.parse_query(",key,", ";,").should.equal "key" => nil
|
122
|
+
Rack::Utils.parse_query(";foo=bar,;", ";,").should.equal "foo" => "bar"
|
123
|
+
Rack::Utils.parse_query(",foo=bar;,", ";,").should.equal "foo" => "bar"
|
115
124
|
end
|
116
125
|
|
117
126
|
should "parse nested query strings correctly" do
|
@@ -188,7 +197,7 @@ describe Rack::Utils do
|
|
188
197
|
|
189
198
|
lambda { Rack::Utils.parse_nested_query("x[y]=1&x[]=1") }.
|
190
199
|
should.raise(TypeError).
|
191
|
-
message.should.match
|
200
|
+
message.should.match(/expected Array \(got [^)]*\) for param `x'/)
|
192
201
|
|
193
202
|
lambda { Rack::Utils.parse_nested_query("x[y]=1&x[y][][w]=2") }.
|
194
203
|
should.raise(TypeError).
|
@@ -356,6 +365,10 @@ describe Rack::Utils, "byte_range" do
|
|
356
365
|
Rack::Utils.byte_ranges({"HTTP_RANGE" => "bytes=499-499"},500).should.equal [(499..499)]
|
357
366
|
end
|
358
367
|
|
368
|
+
should "parse several byte ranges" do
|
369
|
+
Rack::Utils.byte_ranges({"HTTP_RANGE" => "bytes=500-600,601-999"},1000).should.equal [(500..600),(601..999)]
|
370
|
+
end
|
371
|
+
|
359
372
|
should "truncate byte ranges" do
|
360
373
|
Rack::Utils.byte_ranges({"HTTP_RANGE" => "bytes=123-999"},500).should.equal [(123..499)]
|
361
374
|
Rack::Utils.byte_ranges({"HTTP_RANGE" => "bytes=600-999"},500).should.equal []
|
@@ -0,0 +1 @@
|
|
1
|
+
another index!
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 1.4.
|
9
|
+
- 2
|
10
|
+
version: 1.4.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Christian Neukirchen
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2013-01-07 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: bacon
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
requirements:
|
82
82
|
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
hash:
|
84
|
+
hash: -503647054
|
85
85
|
segments:
|
86
86
|
- 1
|
87
87
|
- 2
|
@@ -112,7 +112,7 @@ description: |
|
|
112
112
|
servers, web frameworks, and software in between (the so-called
|
113
113
|
middleware) into a single method call.
|
114
114
|
|
115
|
-
Also see http://rack.
|
115
|
+
Also see http://rack.github.com/.
|
116
116
|
|
117
117
|
email: chneukirchen@gmail.com
|
118
118
|
executables:
|
@@ -124,7 +124,10 @@ extra_rdoc_files:
|
|
124
124
|
- KNOWN-ISSUES
|
125
125
|
files:
|
126
126
|
- bin/rackup
|
127
|
+
- contrib/rack.png
|
128
|
+
- contrib/rack.svg
|
127
129
|
- contrib/rack_logo.svg
|
130
|
+
- contrib/rdoc.css
|
128
131
|
- example/lobster.ru
|
129
132
|
- example/protectedlobster.rb
|
130
133
|
- example/protectedlobster.ru
|
@@ -137,6 +140,7 @@ files:
|
|
137
140
|
- lib/rack/auth/digest/request.rb
|
138
141
|
- lib/rack/backports/uri/common_18.rb
|
139
142
|
- lib/rack/backports/uri/common_192.rb
|
143
|
+
- lib/rack/backports/uri/common_193.rb
|
140
144
|
- lib/rack/body_proxy.rb
|
141
145
|
- lib/rack/builder.rb
|
142
146
|
- lib/rack/cascade.rb
|
@@ -194,7 +198,14 @@ files:
|
|
194
198
|
- test/builder/anything.rb
|
195
199
|
- test/builder/comment.ru
|
196
200
|
- test/builder/end.ru
|
201
|
+
- test/builder/line.ru
|
197
202
|
- test/builder/options.ru
|
203
|
+
- test/cgi/assets/folder/test.js
|
204
|
+
- test/cgi/assets/fonts/font.eot
|
205
|
+
- test/cgi/assets/images/image.png
|
206
|
+
- test/cgi/assets/index.html
|
207
|
+
- test/cgi/assets/javascripts/app.js
|
208
|
+
- test/cgi/assets/stylesheets/app.css
|
198
209
|
- test/cgi/lighttpd.conf
|
199
210
|
- test/cgi/rackup_stub.rb
|
200
211
|
- test/cgi/sample_rackup.ru
|
@@ -272,6 +283,7 @@ files:
|
|
272
283
|
- test/spec_urlmap.rb
|
273
284
|
- test/spec_utils.rb
|
274
285
|
- test/spec_webrick.rb
|
286
|
+
- test/static/another/index.html
|
275
287
|
- test/static/index.html
|
276
288
|
- test/testrequest.rb
|
277
289
|
- test/unregistered_handler/rack/handler/unregistered.rb
|
@@ -282,7 +294,7 @@ files:
|
|
282
294
|
- Rakefile
|
283
295
|
- README.rdoc
|
284
296
|
- SPEC
|
285
|
-
homepage: http://rack.
|
297
|
+
homepage: http://rack.github.com/
|
286
298
|
licenses: []
|
287
299
|
|
288
300
|
post_install_message:
|
@@ -311,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
311
323
|
requirements: []
|
312
324
|
|
313
325
|
rubyforge_project: rack
|
314
|
-
rubygems_version: 1.8.
|
326
|
+
rubygems_version: 1.8.24
|
315
327
|
signing_key:
|
316
328
|
specification_version: 3
|
317
329
|
summary: a modular Ruby webserver interface
|
@@ -362,3 +374,4 @@ test_files:
|
|
362
374
|
- test/spec_urlmap.rb
|
363
375
|
- test/spec_utils.rb
|
364
376
|
- test/spec_webrick.rb
|
377
|
+
has_rdoc:
|