rack 0.9.1 → 1.0.0

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 (79) hide show
  1. data/COPYING +1 -1
  2. data/RDOX +115 -16
  3. data/README +54 -7
  4. data/Rakefile +61 -85
  5. data/SPEC +50 -17
  6. data/bin/rackup +9 -5
  7. data/example/protectedlobster.ru +1 -1
  8. data/lib/rack.rb +7 -3
  9. data/lib/rack/auth/abstract/handler.rb +13 -4
  10. data/lib/rack/auth/digest/md5.rb +1 -1
  11. data/lib/rack/auth/digest/request.rb +2 -2
  12. data/lib/rack/auth/openid.rb +344 -302
  13. data/lib/rack/builder.rb +1 -5
  14. data/lib/rack/chunked.rb +49 -0
  15. data/lib/rack/conditionalget.rb +4 -0
  16. data/lib/rack/content_length.rb +7 -3
  17. data/lib/rack/content_type.rb +23 -0
  18. data/lib/rack/deflater.rb +83 -74
  19. data/lib/rack/directory.rb +5 -2
  20. data/lib/rack/file.rb +4 -1
  21. data/lib/rack/handler.rb +22 -1
  22. data/lib/rack/handler/cgi.rb +7 -3
  23. data/lib/rack/handler/fastcgi.rb +26 -24
  24. data/lib/rack/handler/lsws.rb +7 -4
  25. data/lib/rack/handler/mongrel.rb +5 -3
  26. data/lib/rack/handler/scgi.rb +5 -3
  27. data/lib/rack/handler/thin.rb +3 -0
  28. data/lib/rack/handler/webrick.rb +11 -5
  29. data/lib/rack/lint.rb +138 -66
  30. data/lib/rack/lock.rb +16 -0
  31. data/lib/rack/mime.rb +4 -4
  32. data/lib/rack/mock.rb +3 -3
  33. data/lib/rack/reloader.rb +88 -46
  34. data/lib/rack/request.rb +46 -10
  35. data/lib/rack/response.rb +15 -3
  36. data/lib/rack/rewindable_input.rb +98 -0
  37. data/lib/rack/session/abstract/id.rb +71 -82
  38. data/lib/rack/session/cookie.rb +2 -0
  39. data/lib/rack/session/memcache.rb +59 -47
  40. data/lib/rack/session/pool.rb +56 -29
  41. data/lib/rack/showexceptions.rb +2 -1
  42. data/lib/rack/showstatus.rb +1 -1
  43. data/lib/rack/urlmap.rb +12 -5
  44. data/lib/rack/utils.rb +115 -65
  45. data/rack.gemspec +54 -0
  46. data/test/multipart/binary +0 -0
  47. data/test/multipart/empty +10 -0
  48. data/test/multipart/ie +6 -0
  49. data/test/multipart/nested +10 -0
  50. data/test/multipart/none +9 -0
  51. data/test/multipart/text +10 -0
  52. data/test/spec_rack_auth_basic.rb +5 -1
  53. data/test/spec_rack_auth_digest.rb +93 -36
  54. data/test/spec_rack_auth_openid.rb +47 -100
  55. data/test/spec_rack_builder.rb +2 -2
  56. data/test/spec_rack_chunked.rb +62 -0
  57. data/test/spec_rack_conditionalget.rb +7 -7
  58. data/test/spec_rack_content_type.rb +30 -0
  59. data/test/spec_rack_deflater.rb +36 -14
  60. data/test/spec_rack_directory.rb +1 -1
  61. data/test/spec_rack_file.rb +11 -0
  62. data/test/spec_rack_handler.rb +21 -2
  63. data/test/spec_rack_lint.rb +163 -44
  64. data/test/spec_rack_lock.rb +38 -0
  65. data/test/spec_rack_mock.rb +6 -1
  66. data/test/spec_rack_request.rb +81 -12
  67. data/test/spec_rack_response.rb +46 -2
  68. data/test/spec_rack_rewindable_input.rb +118 -0
  69. data/test/spec_rack_session_memcache.rb +170 -62
  70. data/test/spec_rack_session_pool.rb +129 -41
  71. data/test/spec_rack_static.rb +2 -2
  72. data/test/spec_rack_thin.rb +3 -2
  73. data/test/spec_rack_urlmap.rb +10 -0
  74. data/test/spec_rack_utils.rb +214 -49
  75. data/test/spec_rack_webrick.rb +7 -0
  76. data/test/unregistered_handler/rack/handler/unregistered.rb +7 -0
  77. data/test/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
  78. metadata +95 -6
  79. data/AUTHORS +0 -8
@@ -60,6 +60,13 @@ context "Rack::Handler::WEBrick" do
60
60
  response["REQUEST_PATH"].should.equal "/"
61
61
  response["PATH_INFO"].should.equal "/foo"
62
62
  response["QUERY_STRING"].should.equal "quux=1"
63
+
64
+ GET("/test/foo%25encoding?quux=1")
65
+ response["REQUEST_METHOD"].should.equal "GET"
66
+ response["SCRIPT_NAME"].should.equal "/test"
67
+ response["REQUEST_PATH"].should.equal "/"
68
+ response["PATH_INFO"].should.equal "/foo%25encoding"
69
+ response["QUERY_STRING"].should.equal "quux=1"
63
70
  end
64
71
 
65
72
  specify "should have CGI headers on POST" do
@@ -0,0 +1,7 @@
1
+ module Rack
2
+ module Handler
3
+ # this class doesn't do anything, we're just seeing if we get it.
4
+ class Unregistered
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Rack
2
+ module Handler
3
+ # this class doesn't do anything, we're just seeing if we get it.
4
+ class UnregisteredLongOne
5
+ end
6
+ end
7
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Neukirchen
@@ -9,10 +9,79 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-09 00:00:00 +01:00
13
- default_executable:
14
- dependencies: []
15
-
12
+ date: 2009-04-25 00:00:00 +02:00
13
+ default_executable: rackup
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: test-spec
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: camping
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: fcgi
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: memcache-client
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: mongrel
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: ruby-openid
67
+ type: :development
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ version: 2.0.0
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: thin
77
+ type: :development
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: "0"
84
+ version:
16
85
  description: Rack provides minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call. Also see http://rack.rubyforge.org.
17
86
  email: chneukirchen@gmail.com
18
87
  executables:
@@ -25,7 +94,6 @@ extra_rdoc_files:
25
94
  - RDOX
26
95
  - KNOWN-ISSUES
27
96
  files:
28
- - AUTHORS
29
97
  - COPYING
30
98
  - KNOWN-ISSUES
31
99
  - README
@@ -47,9 +115,11 @@ files:
47
115
  - lib/rack/auth/openid.rb
48
116
  - lib/rack/builder.rb
49
117
  - lib/rack/cascade.rb
118
+ - lib/rack/chunked.rb
50
119
  - lib/rack/commonlogger.rb
51
120
  - lib/rack/conditionalget.rb
52
121
  - lib/rack/content_length.rb
122
+ - lib/rack/content_type.rb
53
123
  - lib/rack/deflater.rb
54
124
  - lib/rack/directory.rb
55
125
  - lib/rack/file.rb
@@ -66,6 +136,7 @@ files:
66
136
  - lib/rack/head.rb
67
137
  - lib/rack/lint.rb
68
138
  - lib/rack/lobster.rb
139
+ - lib/rack/lock.rb
69
140
  - lib/rack/methodoverride.rb
70
141
  - lib/rack/mime.rb
71
142
  - lib/rack/mock.rb
@@ -73,6 +144,7 @@ files:
73
144
  - lib/rack/reloader.rb
74
145
  - lib/rack/request.rb
75
146
  - lib/rack/response.rb
147
+ - lib/rack/rewindable_input.rb
76
148
  - lib/rack/session/abstract/id.rb
77
149
  - lib/rack/session/cookie.rb
78
150
  - lib/rack/session/memcache.rb
@@ -86,6 +158,12 @@ files:
86
158
  - test/cgi/test
87
159
  - test/cgi/test.fcgi
88
160
  - test/cgi/test.ru
161
+ - test/multipart/binary
162
+ - test/multipart/empty
163
+ - test/multipart/ie
164
+ - test/multipart/nested
165
+ - test/multipart/none
166
+ - test/multipart/text
89
167
  - test/spec_rack_auth_basic.rb
90
168
  - test/spec_rack_auth_digest.rb
91
169
  - test/spec_rack_auth_openid.rb
@@ -93,9 +171,11 @@ files:
93
171
  - test/spec_rack_camping.rb
94
172
  - test/spec_rack_cascade.rb
95
173
  - test/spec_rack_cgi.rb
174
+ - test/spec_rack_chunked.rb
96
175
  - test/spec_rack_commonlogger.rb
97
176
  - test/spec_rack_conditionalget.rb
98
177
  - test/spec_rack_content_length.rb
178
+ - test/spec_rack_content_type.rb
99
179
  - test/spec_rack_deflater.rb
100
180
  - test/spec_rack_directory.rb
101
181
  - test/spec_rack_fastcgi.rb
@@ -104,12 +184,14 @@ files:
104
184
  - test/spec_rack_head.rb
105
185
  - test/spec_rack_lint.rb
106
186
  - test/spec_rack_lobster.rb
187
+ - test/spec_rack_lock.rb
107
188
  - test/spec_rack_methodoverride.rb
108
189
  - test/spec_rack_mock.rb
109
190
  - test/spec_rack_mongrel.rb
110
191
  - test/spec_rack_recursive.rb
111
192
  - test/spec_rack_request.rb
112
193
  - test/spec_rack_response.rb
194
+ - test/spec_rack_rewindable_input.rb
113
195
  - test/spec_rack_session_cookie.rb
114
196
  - test/spec_rack_session_memcache.rb
115
197
  - test/spec_rack_session_pool.rb
@@ -121,8 +203,11 @@ files:
121
203
  - test/spec_rack_utils.rb
122
204
  - test/spec_rack_webrick.rb
123
205
  - test/testrequest.rb
206
+ - test/unregistered_handler/rack/handler/unregistered.rb
207
+ - test/unregistered_handler/rack/handler/unregistered_long_one.rb
124
208
  - SPEC
125
209
  - RDOX
210
+ - rack.gemspec
126
211
  has_rdoc: true
127
212
  homepage: http://rack.rubyforge.org
128
213
  post_install_message:
@@ -157,9 +242,11 @@ test_files:
157
242
  - test/spec_rack_camping.rb
158
243
  - test/spec_rack_cascade.rb
159
244
  - test/spec_rack_cgi.rb
245
+ - test/spec_rack_chunked.rb
160
246
  - test/spec_rack_commonlogger.rb
161
247
  - test/spec_rack_conditionalget.rb
162
248
  - test/spec_rack_content_length.rb
249
+ - test/spec_rack_content_type.rb
163
250
  - test/spec_rack_deflater.rb
164
251
  - test/spec_rack_directory.rb
165
252
  - test/spec_rack_fastcgi.rb
@@ -168,12 +255,14 @@ test_files:
168
255
  - test/spec_rack_head.rb
169
256
  - test/spec_rack_lint.rb
170
257
  - test/spec_rack_lobster.rb
258
+ - test/spec_rack_lock.rb
171
259
  - test/spec_rack_methodoverride.rb
172
260
  - test/spec_rack_mock.rb
173
261
  - test/spec_rack_mongrel.rb
174
262
  - test/spec_rack_recursive.rb
175
263
  - test/spec_rack_request.rb
176
264
  - test/spec_rack_response.rb
265
+ - test/spec_rack_rewindable_input.rb
177
266
  - test/spec_rack_session_cookie.rb
178
267
  - test/spec_rack_session_memcache.rb
179
268
  - test/spec_rack_session_pool.rb
data/AUTHORS DELETED
@@ -1,8 +0,0 @@
1
- * Christian Neukirchen <chneukirchen@gmail.com>
2
- * HTTP authentication: Tim Fletcher <twoggle@gmail.com>
3
- * Cookie sessions, Static handler: Luc Heinrich <luc@honk-honk.com>
4
- * Pool sessions, OpenID authentication: blink <blinketje@gmail.com>
5
- * Rack::Deflater: Christoffer Sawicki <christoffer.sawicki@gmail.com>
6
- * LiteSpeed handler: Adrian Madrid
7
- * SCGI handler: Jeremy Evans
8
- * Official Logo: Armin Ronacher