rack 1.1.0 → 1.2.0

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.
Files changed (101) hide show
  1. data/README +23 -26
  2. data/SPEC +3 -3
  3. data/lib/rack/auth/digest/params.rb +1 -1
  4. data/lib/rack/content_length.rb +1 -1
  5. data/lib/rack/etag.rb +15 -6
  6. data/lib/rack/file.rb +3 -1
  7. data/lib/rack/handler/cgi.rb +8 -7
  8. data/lib/rack/handler/fastcgi.rb +1 -1
  9. data/lib/rack/handler/lsws.rb +1 -1
  10. data/lib/rack/handler/mongrel.rb +1 -1
  11. data/lib/rack/handler/scgi.rb +1 -4
  12. data/lib/rack/handler/webrick.rb +10 -6
  13. data/lib/rack/lint.rb +29 -37
  14. data/lib/rack/mime.rb +2 -0
  15. data/lib/rack/mock.rb +2 -1
  16. data/lib/rack/recursive.rb +4 -0
  17. data/lib/rack/request.rb +8 -6
  18. data/lib/rack/response.rb +1 -0
  19. data/lib/rack/rewindable_input.rb +13 -10
  20. data/lib/rack/sendfile.rb +8 -6
  21. data/lib/rack/server.rb +66 -7
  22. data/lib/rack/session/memcache.rb +1 -1
  23. data/lib/rack/urlmap.rb +6 -7
  24. data/lib/rack/utils.rb +64 -22
  25. data/lib/rack.rb +1 -12
  26. data/rack.gemspec +6 -6
  27. data/spec/cgi/lighttpd.conf +25 -0
  28. data/spec/cgi/rackup_stub.rb +6 -0
  29. data/spec/cgi/sample_rackup.ru +5 -0
  30. data/spec/cgi/test +9 -0
  31. data/spec/cgi/test.fcgi +8 -0
  32. data/spec/cgi/test.ru +5 -0
  33. data/spec/multipart/bad_robots +259 -0
  34. data/spec/multipart/binary +0 -0
  35. data/spec/multipart/empty +10 -0
  36. data/spec/multipart/fail_16384_nofile +814 -0
  37. data/spec/multipart/file1.txt +1 -0
  38. data/spec/multipart/filename_and_modification_param +7 -0
  39. data/spec/multipart/filename_with_escaped_quotes +6 -0
  40. data/spec/multipart/filename_with_escaped_quotes_and_modification_param +7 -0
  41. data/spec/multipart/filename_with_percent_escaped_quotes +6 -0
  42. data/spec/multipart/filename_with_unescaped_quotes +6 -0
  43. data/spec/multipart/ie +6 -0
  44. data/spec/multipart/nested +10 -0
  45. data/spec/multipart/none +9 -0
  46. data/spec/multipart/semicolon +6 -0
  47. data/spec/multipart/text +10 -0
  48. data/spec/rackup/config.ru +31 -0
  49. data/{test/spec_rack_auth_basic.rb → spec/spec_auth_basic.rb} +11 -14
  50. data/{test/spec_rack_auth_digest.rb → spec/spec_auth_digest.rb} +18 -21
  51. data/{test/spec_rack_builder.rb → spec/spec_builder.rb} +49 -10
  52. data/{test/spec_rack_cascade.rb → spec/spec_cascade.rb} +7 -10
  53. data/{test/spec_rack_cgi.rb → spec/spec_cgi.rb} +34 -32
  54. data/{test/spec_rack_chunked.rb → spec/spec_chunked.rb} +8 -10
  55. data/{test/spec_rack_commonlogger.rb → spec/spec_commonlogger.rb} +10 -15
  56. data/{test/spec_rack_conditionalget.rb → spec/spec_conditionalget.rb} +5 -7
  57. data/{test/spec_rack_config.rb → spec/spec_config.rb} +6 -7
  58. data/{test/spec_rack_content_length.rb → spec/spec_content_length.rb} +7 -8
  59. data/{test/spec_rack_content_type.rb → spec/spec_content_type.rb} +5 -6
  60. data/{test/spec_rack_deflater.rb → spec/spec_deflater.rb} +11 -13
  61. data/{test/spec_rack_directory.rb → spec/spec_directory.rb} +6 -10
  62. data/{test/spec_rack_etag.rb → spec/spec_etag.rb} +3 -5
  63. data/{test/spec_rack_fastcgi.rb → spec/spec_fastcgi.rb} +36 -29
  64. data/{test/spec_rack_file.rb → spec/spec_file.rb} +9 -13
  65. data/{test/spec_rack_handler.rb → spec/spec_handler.rb} +10 -12
  66. data/{test/spec_rack_head.rb → spec/spec_head.rb} +3 -3
  67. data/{test/spec_rack_lint.rb → spec/spec_lint.rb} +19 -32
  68. data/{test/spec_rack_lobster.rb → spec/spec_lobster.rb} +9 -11
  69. data/{test/spec_rack_lock.rb → spec/spec_lock.rb} +15 -17
  70. data/{test/spec_rack_logger.rb → spec/spec_logger.rb} +6 -7
  71. data/{test/spec_rack_methodoverride.rb → spec/spec_methodoverride.rb} +15 -17
  72. data/{test/spec_rack_mock.rb → spec/spec_mock.rb} +30 -32
  73. data/{test/spec_rack_mongrel.rb → spec/spec_mongrel.rb} +40 -46
  74. data/{test/spec_rack_nulllogger.rb → spec/spec_nulllogger.rb} +4 -5
  75. data/{test/spec_rack_recursive.rb → spec/spec_recursive.rb} +28 -36
  76. data/{test/spec_rack_request.rb → spec/spec_request.rb} +84 -49
  77. data/{test/spec_rack_response.rb → spec/spec_response.rb} +48 -29
  78. data/spec/spec_rewindable_input.rb +118 -0
  79. data/{test/spec_rack_runtime.rb → spec/spec_runtime.rb} +15 -11
  80. data/{test/spec_rack_sendfile.rb → spec/spec_sendfile.rb} +11 -14
  81. data/{test/spec_rack_session_cookie.rb → spec/spec_session_cookie.rb} +15 -18
  82. data/{test/spec_rack_session_memcache.rb → spec/spec_session_memcache.rb} +32 -26
  83. data/{test/spec_rack_session_pool.rb → spec/spec_session_pool.rb} +36 -31
  84. data/spec/spec_showexceptions.rb +23 -0
  85. data/spec/spec_showstatus.rb +79 -0
  86. data/{test/spec_rack_static.rb → spec/spec_static.rb} +5 -9
  87. data/{test/spec_rack_thin.rb → spec/spec_thin.rb} +30 -35
  88. data/{test/spec_rack_urlmap.rb → spec/spec_urlmap.rb} +6 -8
  89. data/{test/spec_rack_utils.rb → spec/spec_utils.rb} +136 -71
  90. data/{test/spec_rack_webrick.rb → spec/spec_webrick.rb} +28 -36
  91. data/spec/testrequest.rb +77 -0
  92. data/spec/unregistered_handler/rack/handler/unregistered.rb +7 -0
  93. data/spec/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
  94. metadata +206 -124
  95. data/RDOX +0 -0
  96. data/lib/rack/adapter/camping.rb +0 -22
  97. data/test/spec_rack_camping.rb +0 -51
  98. data/test/spec_rack_rewindable_input.rb +0 -118
  99. data/test/spec_rack_showexceptions.rb +0 -21
  100. data/test/spec_rack_showstatus.rb +0 -72
  101. data/test/spec_rackup.rb +0 -154
@@ -0,0 +1,77 @@
1
+ require 'yaml'
2
+ require 'net/http'
3
+
4
+ class TestRequest
5
+ NOSERIALIZE = [Method, Proc]
6
+
7
+ def call(env)
8
+ status = env["QUERY_STRING"] =~ /secret/ ? 403 : 200
9
+ env["test.postdata"] = env["rack.input"].read
10
+ minienv = env.dup
11
+ # This may in the future want to replace with a dummy value instead.
12
+ minienv.delete_if { |k,v| NOSERIALIZE.any? { |c| v.kind_of?(c) } }
13
+ body = minienv.to_yaml
14
+ size = body.respond_to?(:bytesize) ? body.bytesize : body.size
15
+ [status, {"Content-Type" => "text/yaml", "Content-Length" => size.to_s}, [body]]
16
+ end
17
+
18
+ module Helpers
19
+ attr_reader :status, :response
20
+
21
+ ROOT = File.expand_path(File.dirname(__FILE__) + "/..")
22
+ ENV["RUBYOPT"] = "-I#{ROOT}/lib -rubygems"
23
+
24
+ def root
25
+ ROOT
26
+ end
27
+
28
+ def rackup
29
+ "#{ROOT}/bin/rackup"
30
+ end
31
+
32
+ def GET(path, header={})
33
+ Net::HTTP.start(@host, @port) { |http|
34
+ user = header.delete(:user)
35
+ passwd = header.delete(:passwd)
36
+
37
+ get = Net::HTTP::Get.new(path, header)
38
+ get.basic_auth user, passwd if user && passwd
39
+ http.request(get) { |response|
40
+ @status = response.code.to_i
41
+ begin
42
+ @response = YAML.load(response.body)
43
+ rescue TypeError, ArgumentError
44
+ @response = nil
45
+ end
46
+ }
47
+ }
48
+ end
49
+
50
+ def POST(path, formdata={}, header={})
51
+ Net::HTTP.start(@host, @port) { |http|
52
+ user = header.delete(:user)
53
+ passwd = header.delete(:passwd)
54
+
55
+ post = Net::HTTP::Post.new(path, header)
56
+ post.form_data = formdata
57
+ post.basic_auth user, passwd if user && passwd
58
+ http.request(post) { |response|
59
+ @status = response.code.to_i
60
+ @response = YAML.load(response.body)
61
+ }
62
+ }
63
+ end
64
+ end
65
+ end
66
+
67
+ class StreamingRequest
68
+ def self.call(env)
69
+ [200, {"Content-Type" => "text/plain"}, new]
70
+ end
71
+
72
+ def each
73
+ yield "hello there!\n"
74
+ sleep 5
75
+ yield "that is all.\n"
76
+ end
77
+ 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 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,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 2
8
+ - 0
9
+ version: 1.2.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Christian Neukirchen
@@ -9,69 +14,81 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-01-04 00:00:00 +01:00
17
+ date: 2010-06-13 00:00:00 +02:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
- name: test-spec
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
21
+ name: bacon
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
23
29
  version: "0"
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: camping
27
30
  type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: rake
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
33
41
  version: "0"
34
- version:
42
+ type: :development
43
+ version_requirements: *id002
35
44
  - !ruby/object:Gem::Dependency
36
45
  name: fcgi
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
46
+ prerelease: false
47
+ requirement: &id003 !ruby/object:Gem::Requirement
40
48
  requirements:
41
49
  - - ">="
42
50
  - !ruby/object:Gem::Version
51
+ segments:
52
+ - 0
43
53
  version: "0"
44
- version:
54
+ type: :development
55
+ version_requirements: *id003
45
56
  - !ruby/object:Gem::Dependency
46
57
  name: memcache-client
47
- type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
58
+ prerelease: false
59
+ requirement: &id004 !ruby/object:Gem::Requirement
50
60
  requirements:
51
61
  - - ">="
52
62
  - !ruby/object:Gem::Version
63
+ segments:
64
+ - 0
53
65
  version: "0"
54
- version:
66
+ type: :development
67
+ version_requirements: *id004
55
68
  - !ruby/object:Gem::Dependency
56
69
  name: mongrel
57
- type: :development
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
70
+ prerelease: false
71
+ requirement: &id005 !ruby/object:Gem::Requirement
60
72
  requirements:
61
73
  - - ">="
62
74
  - !ruby/object:Gem::Version
75
+ segments:
76
+ - 0
63
77
  version: "0"
64
- version:
78
+ type: :development
79
+ version_requirements: *id005
65
80
  - !ruby/object:Gem::Dependency
66
81
  name: thin
67
- type: :development
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
82
+ prerelease: false
83
+ requirement: &id006 !ruby/object:Gem::Requirement
70
84
  requirements:
71
85
  - - ">="
72
86
  - !ruby/object:Gem::Version
87
+ segments:
88
+ - 0
73
89
  version: "0"
74
- version:
90
+ type: :development
91
+ version_requirements: *id006
75
92
  description: |
76
93
  Rack provides minimal, modular and adaptable interface for developing
77
94
  web applications in Ruby. By wrapping HTTP requests and responses in
@@ -93,70 +110,135 @@ extra_rdoc_files:
93
110
  files:
94
111
  - bin/rackup
95
112
  - contrib/rack_logo.svg
113
+ - example/protectedlobster.ru
96
114
  - example/lobster.ru
97
115
  - example/protectedlobster.rb
98
- - example/protectedlobster.ru
99
- - lib/rack/adapter/camping.rb
100
- - lib/rack/auth/abstract/handler.rb
101
- - lib/rack/auth/abstract/request.rb
102
- - lib/rack/auth/basic.rb
103
- - lib/rack/auth/digest/md5.rb
104
- - lib/rack/auth/digest/nonce.rb
105
- - lib/rack/auth/digest/params.rb
106
- - lib/rack/auth/digest/request.rb
107
- - lib/rack/builder.rb
108
- - lib/rack/cascade.rb
109
- - lib/rack/chunked.rb
110
- - lib/rack/commonlogger.rb
116
+ - lib/rack/session/cookie.rb
117
+ - lib/rack/session/pool.rb
118
+ - lib/rack/session/memcache.rb
119
+ - lib/rack/session/abstract/id.rb
120
+ - lib/rack/response.rb
111
121
  - lib/rack/conditionalget.rb
112
- - lib/rack/config.rb
113
- - lib/rack/content_length.rb
114
- - lib/rack/content_type.rb
115
- - lib/rack/deflater.rb
116
- - lib/rack/directory.rb
117
- - lib/rack/etag.rb
118
- - lib/rack/file.rb
119
- - lib/rack/handler/cgi.rb
120
- - lib/rack/handler/evented_mongrel.rb
121
- - lib/rack/handler/fastcgi.rb
122
- - lib/rack/handler/lsws.rb
123
- - lib/rack/handler/mongrel.rb
122
+ - lib/rack/showstatus.rb
123
+ - lib/rack/rewindable_input.rb
124
+ - lib/rack/sendfile.rb
125
+ - lib/rack/urlmap.rb
126
+ - lib/rack/chunked.rb
127
+ - lib/rack/head.rb
128
+ - lib/rack/runtime.rb
129
+ - lib/rack/handler/webrick.rb
130
+ - lib/rack/handler/thin.rb
124
131
  - lib/rack/handler/scgi.rb
132
+ - lib/rack/handler/mongrel.rb
133
+ - lib/rack/handler/evented_mongrel.rb
125
134
  - lib/rack/handler/swiftiplied_mongrel.rb
126
- - lib/rack/handler/thin.rb
127
- - lib/rack/handler/webrick.rb
135
+ - lib/rack/handler/lsws.rb
136
+ - lib/rack/handler/fastcgi.rb
137
+ - lib/rack/handler/cgi.rb
138
+ - lib/rack/lock.rb
139
+ - lib/rack/builder.rb
128
140
  - lib/rack/handler.rb
129
- - lib/rack/head.rb
130
- - lib/rack/lint.rb
141
+ - lib/rack/mock.rb
142
+ - lib/rack/static.rb
143
+ - lib/rack/deflater.rb
144
+ - lib/rack/content_type.rb
145
+ - lib/rack/server.rb
146
+ - lib/rack/directory.rb
147
+ - lib/rack/showexceptions.rb
148
+ - lib/rack/file.rb
149
+ - lib/rack/request.rb
131
150
  - lib/rack/lobster.rb
132
- - lib/rack/lock.rb
133
- - lib/rack/logger.rb
151
+ - lib/rack/commonlogger.rb
152
+ - lib/rack/config.rb
153
+ - lib/rack/utils.rb
154
+ - lib/rack/etag.rb
134
155
  - lib/rack/methodoverride.rb
135
- - lib/rack/mime.rb
136
- - lib/rack/mock.rb
156
+ - lib/rack/cascade.rb
157
+ - lib/rack/logger.rb
158
+ - lib/rack/auth/digest/request.rb
159
+ - lib/rack/auth/digest/nonce.rb
160
+ - lib/rack/auth/digest/params.rb
161
+ - lib/rack/auth/digest/md5.rb
162
+ - lib/rack/auth/basic.rb
163
+ - lib/rack/auth/abstract/handler.rb
164
+ - lib/rack/auth/abstract/request.rb
165
+ - lib/rack/content_length.rb
137
166
  - lib/rack/nulllogger.rb
167
+ - lib/rack/lint.rb
138
168
  - lib/rack/recursive.rb
169
+ - lib/rack/mime.rb
139
170
  - lib/rack/reloader.rb
140
- - lib/rack/request.rb
141
- - lib/rack/response.rb
142
- - lib/rack/rewindable_input.rb
143
- - lib/rack/runtime.rb
144
- - lib/rack/sendfile.rb
145
- - lib/rack/server.rb
146
- - lib/rack/session/abstract/id.rb
147
- - lib/rack/session/cookie.rb
148
- - lib/rack/session/memcache.rb
149
- - lib/rack/session/pool.rb
150
- - lib/rack/showexceptions.rb
151
- - lib/rack/showstatus.rb
152
- - lib/rack/static.rb
153
- - lib/rack/urlmap.rb
154
- - lib/rack/utils.rb
155
171
  - lib/rack.rb
172
+ - spec/spec_static.rb
173
+ - spec/spec_content_type.rb
174
+ - spec/spec_thin.rb
175
+ - spec/testrequest.rb
176
+ - spec/spec_auth_digest.rb
177
+ - spec/spec_response.rb
178
+ - spec/spec_file.rb
179
+ - spec/spec_rewindable_input.rb
180
+ - spec/spec_methodoverride.rb
181
+ - spec/spec_fastcgi.rb
182
+ - spec/spec_chunked.rb
183
+ - spec/spec_cgi.rb
184
+ - spec/multipart/semicolon
185
+ - spec/multipart/filename_with_escaped_quotes
186
+ - spec/multipart/binary
187
+ - spec/multipart/fail_16384_nofile
188
+ - spec/multipart/filename_and_modification_param
189
+ - spec/multipart/text
190
+ - spec/multipart/ie
191
+ - spec/multipart/filename_with_percent_escaped_quotes
192
+ - spec/multipart/empty
193
+ - spec/multipart/none
194
+ - spec/multipart/file1.txt
195
+ - spec/multipart/filename_with_escaped_quotes_and_modification_param
196
+ - spec/multipart/nested
197
+ - spec/multipart/bad_robots
198
+ - spec/multipart/filename_with_unescaped_quotes
199
+ - spec/spec_head.rb
200
+ - spec/spec_urlmap.rb
201
+ - spec/spec_mongrel.rb
202
+ - spec/spec_content_length.rb
203
+ - spec/spec_session_cookie.rb
204
+ - spec/spec_utils.rb
205
+ - spec/spec_showexceptions.rb
206
+ - spec/spec_lobster.rb
207
+ - spec/spec_logger.rb
208
+ - spec/spec_sendfile.rb
209
+ - spec/spec_conditionalget.rb
210
+ - spec/spec_lint.rb
211
+ - spec/spec_deflater.rb
212
+ - spec/rackup/config.ru
213
+ - spec/spec_showstatus.rb
214
+ - spec/spec_lock.rb
215
+ - spec/spec_nulllogger.rb
216
+ - spec/spec_config.rb
217
+ - spec/spec_session_memcache.rb
218
+ - spec/spec_runtime.rb
219
+ - spec/spec_commonlogger.rb
220
+ - spec/spec_directory.rb
221
+ - spec/spec_cascade.rb
222
+ - spec/spec_webrick.rb
223
+ - spec/spec_request.rb
224
+ - spec/spec_etag.rb
225
+ - spec/spec_mock.rb
226
+ - spec/cgi/sample_rackup.ru
227
+ - spec/cgi/test
228
+ - spec/cgi/test.fcgi
229
+ - spec/cgi/lighttpd.conf
230
+ - spec/cgi/rackup_stub.rb
231
+ - spec/cgi/test.ru
232
+ - spec/spec_builder.rb
233
+ - spec/spec_auth_basic.rb
234
+ - spec/unregistered_handler/rack/handler/unregistered.rb
235
+ - spec/unregistered_handler/rack/handler/unregistered_long_one.rb
236
+ - spec/spec_handler.rb
237
+ - spec/spec_session_pool.rb
238
+ - spec/spec_recursive.rb
156
239
  - COPYING
157
240
  - KNOWN-ISSUES
158
241
  - rack.gemspec
159
- - RDOX
160
242
  - README
161
243
  - SPEC
162
244
  has_rdoc: true
@@ -172,63 +254,63 @@ required_ruby_version: !ruby/object:Gem::Requirement
172
254
  requirements:
173
255
  - - ">="
174
256
  - !ruby/object:Gem::Version
257
+ segments:
258
+ - 0
175
259
  version: "0"
176
- version:
177
260
  required_rubygems_version: !ruby/object:Gem::Requirement
178
261
  requirements:
179
262
  - - ">="
180
263
  - !ruby/object:Gem::Version
264
+ segments:
265
+ - 0
181
266
  version: "0"
182
- version:
183
267
  requirements: []
184
268
 
185
269
  rubyforge_project: rack
186
- rubygems_version: 1.3.5
270
+ rubygems_version: 1.3.6
187
271
  signing_key:
188
272
  specification_version: 3
189
273
  summary: a modular Ruby webserver interface
190
274
  test_files:
191
- - test/spec_rack_auth_basic.rb
192
- - test/spec_rack_auth_digest.rb
193
- - test/spec_rack_builder.rb
194
- - test/spec_rack_camping.rb
195
- - test/spec_rack_cascade.rb
196
- - test/spec_rack_cgi.rb
197
- - test/spec_rack_chunked.rb
198
- - test/spec_rack_commonlogger.rb
199
- - test/spec_rack_conditionalget.rb
200
- - test/spec_rack_config.rb
201
- - test/spec_rack_content_length.rb
202
- - test/spec_rack_content_type.rb
203
- - test/spec_rack_deflater.rb
204
- - test/spec_rack_directory.rb
205
- - test/spec_rack_etag.rb
206
- - test/spec_rack_fastcgi.rb
207
- - test/spec_rack_file.rb
208
- - test/spec_rack_handler.rb
209
- - test/spec_rack_head.rb
210
- - test/spec_rack_lint.rb
211
- - test/spec_rack_lobster.rb
212
- - test/spec_rack_lock.rb
213
- - test/spec_rack_logger.rb
214
- - test/spec_rack_methodoverride.rb
215
- - test/spec_rack_mock.rb
216
- - test/spec_rack_mongrel.rb
217
- - test/spec_rack_nulllogger.rb
218
- - test/spec_rack_recursive.rb
219
- - test/spec_rack_request.rb
220
- - test/spec_rack_response.rb
221
- - test/spec_rack_rewindable_input.rb
222
- - test/spec_rack_runtime.rb
223
- - test/spec_rack_sendfile.rb
224
- - test/spec_rack_session_cookie.rb
225
- - test/spec_rack_session_memcache.rb
226
- - test/spec_rack_session_pool.rb
227
- - test/spec_rack_showexceptions.rb
228
- - test/spec_rack_showstatus.rb
229
- - test/spec_rack_static.rb
230
- - test/spec_rack_thin.rb
231
- - test/spec_rack_urlmap.rb
232
- - test/spec_rack_utils.rb
233
- - test/spec_rack_webrick.rb
234
- - test/spec_rackup.rb
275
+ - spec/spec_static.rb
276
+ - spec/spec_content_type.rb
277
+ - spec/spec_thin.rb
278
+ - spec/spec_auth_digest.rb
279
+ - spec/spec_response.rb
280
+ - spec/spec_file.rb
281
+ - spec/spec_rewindable_input.rb
282
+ - spec/spec_methodoverride.rb
283
+ - spec/spec_fastcgi.rb
284
+ - spec/spec_chunked.rb
285
+ - spec/spec_cgi.rb
286
+ - spec/spec_head.rb
287
+ - spec/spec_urlmap.rb
288
+ - spec/spec_mongrel.rb
289
+ - spec/spec_content_length.rb
290
+ - spec/spec_session_cookie.rb
291
+ - spec/spec_utils.rb
292
+ - spec/spec_showexceptions.rb
293
+ - spec/spec_lobster.rb
294
+ - spec/spec_logger.rb
295
+ - spec/spec_sendfile.rb
296
+ - spec/spec_conditionalget.rb
297
+ - spec/spec_lint.rb
298
+ - spec/spec_deflater.rb
299
+ - spec/spec_showstatus.rb
300
+ - spec/spec_lock.rb
301
+ - spec/spec_nulllogger.rb
302
+ - spec/spec_config.rb
303
+ - spec/spec_session_memcache.rb
304
+ - spec/spec_runtime.rb
305
+ - spec/spec_commonlogger.rb
306
+ - spec/spec_directory.rb
307
+ - spec/spec_cascade.rb
308
+ - spec/spec_webrick.rb
309
+ - spec/spec_request.rb
310
+ - spec/spec_etag.rb
311
+ - spec/spec_mock.rb
312
+ - spec/spec_builder.rb
313
+ - spec/spec_auth_basic.rb
314
+ - spec/spec_handler.rb
315
+ - spec/spec_session_pool.rb
316
+ - spec/spec_recursive.rb
data/RDOX DELETED
File without changes
@@ -1,22 +0,0 @@
1
- module Rack
2
- module Adapter
3
- class Camping
4
- def initialize(app)
5
- @app = app
6
- end
7
-
8
- def call(env)
9
- env["PATH_INFO"] ||= ""
10
- env["SCRIPT_NAME"] ||= ""
11
- controller = @app.run(env['rack.input'], env)
12
- h = controller.headers
13
- h.each_pair do |k,v|
14
- if v.kind_of? URI
15
- h[k] = v.to_s
16
- end
17
- end
18
- [controller.status, controller.headers, [controller.body.to_s]]
19
- end
20
- end
21
- end
22
- end
@@ -1,51 +0,0 @@
1
- require 'test/spec'
2
- require 'stringio'
3
- require 'uri'
4
-
5
- begin
6
- require 'rack/mock'
7
-
8
- $-w, w = nil, $-w # yuck
9
- require 'camping'
10
- require 'rack/adapter/camping'
11
-
12
- Camping.goes :CampApp
13
- module CampApp
14
- module Controllers
15
- class HW < R('/')
16
- def get
17
- @headers["X-Served-By"] = URI("http://rack.rubyforge.org")
18
- "Camping works!"
19
- end
20
-
21
- def post
22
- "Data: #{input.foo}"
23
- end
24
- end
25
- end
26
- end
27
- $-w = w
28
-
29
- context "Rack::Adapter::Camping" do
30
- specify "works with GET" do
31
- res = Rack::MockRequest.new(Rack::Adapter::Camping.new(CampApp)).
32
- get("/")
33
-
34
- res.should.be.ok
35
- res["Content-Type"].should.equal "text/html"
36
- res["X-Served-By"].should.equal "http://rack.rubyforge.org"
37
-
38
- res.body.should.equal "Camping works!"
39
- end
40
-
41
- specify "works with POST" do
42
- res = Rack::MockRequest.new(Rack::Adapter::Camping.new(CampApp)).
43
- post("/", :input => "foo=bar")
44
-
45
- res.should.be.ok
46
- res.body.should.equal "Data: bar"
47
- end
48
- end
49
- rescue LoadError
50
- $stderr.puts "Skipping Rack::Adapter::Camping tests (Camping is required). `gem install camping` and try again."
51
- end