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.

Files changed (81) hide show
  1. data/COPYING +1 -1
  2. data/KNOWN-ISSUES +9 -0
  3. data/README.rdoc +72 -7
  4. data/Rakefile +18 -11
  5. data/SPEC +3 -1
  6. data/contrib/rack.png +0 -0
  7. data/contrib/rack.svg +150 -0
  8. data/contrib/rdoc.css +412 -0
  9. data/lib/rack/auth/basic.rb +1 -1
  10. data/lib/rack/auth/digest/nonce.rb +1 -1
  11. data/lib/rack/backports/uri/common_18.rb +14 -28
  12. data/lib/rack/backports/uri/common_192.rb +14 -17
  13. data/lib/rack/backports/uri/common_193.rb +29 -0
  14. data/lib/rack/body_proxy.rb +10 -0
  15. data/lib/rack/builder.rb +1 -1
  16. data/lib/rack/cascade.rb +11 -0
  17. data/lib/rack/commonlogger.rb +18 -5
  18. data/lib/rack/deflater.rb +5 -1
  19. data/lib/rack/directory.rb +1 -1
  20. data/lib/rack/etag.rb +6 -3
  21. data/lib/rack/file.rb +13 -4
  22. data/lib/rack/head.rb +1 -0
  23. data/lib/rack/lint.rb +3 -1
  24. data/lib/rack/lock.rb +3 -4
  25. data/lib/rack/mime.rb +1 -1
  26. data/lib/rack/mock.rb +3 -2
  27. data/lib/rack/multipart.rb +2 -2
  28. data/lib/rack/multipart/parser.rb +6 -4
  29. data/lib/rack/reloader.rb +1 -1
  30. data/lib/rack/request.rb +2 -4
  31. data/lib/rack/response.rb +2 -1
  32. data/lib/rack/server.rb +28 -2
  33. data/lib/rack/session/abstract/id.rb +5 -0
  34. data/lib/rack/session/cookie.rb +9 -0
  35. data/lib/rack/static.rb +90 -8
  36. data/lib/rack/utils.rb +17 -10
  37. data/rack.gemspec +3 -3
  38. data/test/builder/line.ru +1 -0
  39. data/test/cgi/assets/folder/test.js +1 -0
  40. data/test/cgi/assets/fonts/font.eot +1 -0
  41. data/test/cgi/assets/images/image.png +1 -0
  42. data/test/cgi/assets/index.html +1 -0
  43. data/test/cgi/assets/javascripts/app.js +1 -0
  44. data/test/cgi/assets/stylesheets/app.css +1 -0
  45. data/test/spec_auth_basic.rb +8 -0
  46. data/test/spec_auth_digest.rb +14 -0
  47. data/test/spec_body_proxy.rb +4 -0
  48. data/test/spec_builder.rb +7 -1
  49. data/test/spec_cascade.rb +8 -0
  50. data/test/spec_chunked.rb +6 -6
  51. data/test/spec_config.rb +0 -1
  52. data/test/spec_content_length.rb +26 -13
  53. data/test/spec_content_type.rb +15 -5
  54. data/test/spec_deflater.rb +35 -17
  55. data/test/spec_directory.rb +20 -1
  56. data/test/spec_etag.rb +29 -13
  57. data/test/spec_file.rb +42 -25
  58. data/test/spec_head.rb +25 -7
  59. data/test/spec_lobster.rb +20 -5
  60. data/test/spec_lock.rb +46 -21
  61. data/test/spec_logger.rb +2 -7
  62. data/test/spec_methodoverride.rb +21 -22
  63. data/test/spec_mock.rb +12 -7
  64. data/test/spec_multipart.rb +29 -0
  65. data/test/spec_nulllogger.rb +13 -2
  66. data/test/spec_recursive.rb +12 -9
  67. data/test/spec_request.rb +2 -2
  68. data/test/spec_response.rb +30 -0
  69. data/test/spec_runtime.rb +15 -5
  70. data/test/spec_sendfile.rb +11 -8
  71. data/test/spec_server.rb +47 -0
  72. data/test/spec_session_cookie.rb +68 -1
  73. data/test/spec_session_memcache.rb +10 -8
  74. data/test/spec_session_pool.rb +13 -10
  75. data/test/spec_showexceptions.rb +9 -4
  76. data/test/spec_showstatus.rb +10 -5
  77. data/test/spec_static.rb +85 -9
  78. data/test/spec_urlmap.rb +10 -10
  79. data/test/spec_utils.rb +14 -1
  80. data/test/static/another/index.html +1 -0
  81. metadata +21 -8
@@ -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 /expected Array \(got [^)]*\) for param `x'/
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: 5
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 4
9
- - 1
10
- version: 1.4.1
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: 2012-01-23 00:00:00 Z
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: 1923831981
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.rubyforge.org.
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.rubyforge.org
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.12
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: