rack-client 0.3.0 → 0.3.1.pre.a

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 (153) hide show
  1. data/Rakefile +12 -14
  2. data/lib/rack/client/adapter/base.rb +23 -14
  3. data/lib/rack/client/adapter/base.rbc +1802 -0
  4. data/lib/rack/client/adapter/simple.rb +53 -21
  5. data/lib/rack/client/adapter/simple.rbc +2063 -0
  6. data/lib/rack/client/adapter.rbc +225 -0
  7. data/lib/rack/client/{dual_band.rb → core/dual_band.rb} +0 -0
  8. data/lib/rack/client/core/dual_band.rbc +380 -0
  9. data/lib/rack/client/{headers.rb → core/headers.rb} +1 -1
  10. data/lib/rack/client/core/headers.rbc +1811 -0
  11. data/lib/rack/client/core/response.rb +50 -0
  12. data/lib/rack/client/core/response.rbc +1105 -0
  13. data/lib/rack/client/core.rb +3 -0
  14. data/lib/rack/client/core.rbc +85 -0
  15. data/lib/rack/client/handler/em-http.rb +3 -7
  16. data/lib/rack/client/handler/em-http.rbc +1648 -0
  17. data/lib/rack/client/handler/excon.rb +6 -14
  18. data/lib/rack/client/handler/excon.rbc +1270 -0
  19. data/lib/rack/client/handler/net_http.rb +7 -4
  20. data/lib/rack/client/handler/net_http.rbc +2400 -0
  21. data/lib/rack/client/handler/typhoeus.rb +12 -5
  22. data/lib/rack/client/handler/typhoeus.rbc +1885 -0
  23. data/lib/rack/client/handler.rbc +340 -0
  24. data/lib/rack/client/{auth → middleware/auth}/abstract/challenge.rb +0 -0
  25. data/lib/rack/client/middleware/auth/abstract/challenge.rbc +1453 -0
  26. data/lib/rack/client/{auth → middleware/auth}/basic.rb +0 -0
  27. data/lib/rack/client/middleware/auth/basic.rbc +1566 -0
  28. data/lib/rack/client/{auth → middleware/auth}/digest/challenge.rb +0 -0
  29. data/lib/rack/client/middleware/auth/digest/challenge.rbc +1124 -0
  30. data/lib/rack/client/{auth → middleware/auth}/digest/md5.rb +0 -0
  31. data/lib/rack/client/middleware/auth/digest/md5.rbc +2241 -0
  32. data/lib/rack/client/{auth → middleware/auth}/digest/params.rb +0 -0
  33. data/lib/rack/client/middleware/auth/digest/params.rbc +365 -0
  34. data/lib/rack/client/middleware/auth.rb +5 -0
  35. data/lib/rack/client/middleware/auth.rbc +117 -0
  36. data/lib/rack/client/{cache → middleware/cache}/cachecontrol.rb +0 -0
  37. data/lib/rack/client/middleware/cache/cachecontrol.rbc +1610 -0
  38. data/lib/rack/client/{cache → middleware/cache}/context.rb +12 -3
  39. data/lib/rack/client/middleware/cache/context.rbc +2074 -0
  40. data/lib/rack/client/{cache → middleware/cache}/entitystore.rb +0 -0
  41. data/lib/rack/client/middleware/cache/entitystore.rbc +1619 -0
  42. data/lib/rack/client/{cache → middleware/cache}/key.rb +0 -0
  43. data/lib/rack/client/middleware/cache/key.rbc +1217 -0
  44. data/lib/rack/client/{cache → middleware/cache}/metastore.rb +0 -0
  45. data/lib/rack/client/middleware/cache/metastore.rbc +2754 -0
  46. data/lib/rack/client/{cache → middleware/cache}/options.rb +0 -0
  47. data/lib/rack/client/middleware/cache/options.rbc +1844 -0
  48. data/lib/rack/client/{cache → middleware/cache}/request.rb +0 -0
  49. data/lib/rack/client/middleware/cache/request.rbc +1020 -0
  50. data/lib/rack/client/{cache → middleware/cache}/response.rb +19 -0
  51. data/lib/rack/client/middleware/cache/response.rbc +1540 -0
  52. data/lib/rack/client/{cache → middleware/cache}/storage.rb +0 -0
  53. data/lib/rack/client/middleware/cache/storage.rbc +1106 -0
  54. data/lib/rack/client/middleware/cache.rb +19 -0
  55. data/lib/rack/client/middleware/cache.rbc +528 -0
  56. data/lib/rack/client/{cookie_jar → middleware/cookie_jar}/context.rb +0 -0
  57. data/lib/rack/client/middleware/cookie_jar/context.rbc +1576 -0
  58. data/lib/rack/client/{cookie_jar → middleware/cookie_jar}/cookie.rb +0 -0
  59. data/lib/rack/client/middleware/cookie_jar/cookie.rbc +2393 -0
  60. data/lib/rack/client/{cookie_jar → middleware/cookie_jar}/cookiestore.rb +0 -0
  61. data/lib/rack/client/middleware/cookie_jar/cookiestore.rbc +1209 -0
  62. data/lib/rack/client/{cookie_jar → middleware/cookie_jar}/options.rb +0 -0
  63. data/lib/rack/client/middleware/cookie_jar/options.rbc +1305 -0
  64. data/lib/rack/client/{cookie_jar → middleware/cookie_jar}/request.rb +0 -0
  65. data/lib/rack/client/middleware/cookie_jar/request.rbc +568 -0
  66. data/lib/rack/client/{cookie_jar → middleware/cookie_jar}/response.rb +0 -0
  67. data/lib/rack/client/middleware/cookie_jar/response.rbc +616 -0
  68. data/lib/rack/client/{cookie_jar → middleware/cookie_jar}/storage.rb +0 -0
  69. data/lib/rack/client/middleware/cookie_jar/storage.rbc +894 -0
  70. data/lib/rack/client/middleware/cookie_jar.rb +17 -0
  71. data/lib/rack/client/middleware/cookie_jar.rbc +471 -0
  72. data/lib/rack/client/{follow_redirects.rb → middleware/follow_redirects.rb} +0 -0
  73. data/lib/rack/client/middleware/follow_redirects.rbc +1344 -0
  74. data/lib/rack/client/middleware.rb +4 -0
  75. data/lib/rack/client/middleware.rbc +101 -0
  76. data/lib/rack/client/parser/base.rbc +898 -0
  77. data/lib/rack/client/parser/body_collection.rbc +1220 -0
  78. data/lib/rack/client/parser/context.rbc +540 -0
  79. data/lib/rack/client/parser/request.rbc +631 -0
  80. data/lib/rack/client/parser/response.rbc +663 -0
  81. data/lib/rack/client/parser.rbc +484 -0
  82. data/lib/rack/client/version.rb +1 -1
  83. data/lib/rack/client/version.rbc +203 -0
  84. data/lib/rack/client.rb +3 -13
  85. data/lib/rack/client.rbc +701 -0
  86. data/spec/core/headers_spec.rb +47 -0
  87. data/spec/core/headers_spec.rbc +1674 -0
  88. data/spec/core/response_spec.rb +78 -0
  89. data/spec/core/response_spec.rbc +2244 -0
  90. data/spec/handler/em_http_spec.rb +4 -19
  91. data/spec/handler/em_http_spec.rbc +224 -0
  92. data/spec/handler/excon_spec.rb +4 -4
  93. data/spec/handler/excon_spec.rbc +224 -0
  94. data/spec/handler/net_http_spec.rb +7 -4
  95. data/spec/handler/net_http_spec.rbc +307 -0
  96. data/spec/handler/typhoeus_spec.rb +6 -17
  97. data/spec/handler/typhoeus_spec.rbc +307 -0
  98. data/spec/helpers/async_helper.rb +31 -0
  99. data/spec/helpers/async_helper.rbc +843 -0
  100. data/spec/helpers/em_http_helper.rb +24 -0
  101. data/spec/helpers/em_http_helper.rbc +663 -0
  102. data/spec/helpers/excon_helper.rb +13 -0
  103. data/spec/helpers/excon_helper.rbc +461 -0
  104. data/spec/helpers/handler_helper.rb +68 -0
  105. data/spec/helpers/handler_helper.rbc +1769 -0
  106. data/spec/helpers/net_http_helper.rb +26 -0
  107. data/spec/helpers/net_http_helper.rbc +806 -0
  108. data/spec/helpers/sync_helper.rb +9 -0
  109. data/spec/helpers/sync_helper.rbc +311 -0
  110. data/spec/helpers/typhoeus_helper.rb +32 -0
  111. data/spec/helpers/typhoeus_helper.rbc +936 -0
  112. data/spec/middleware/cache_spec.rb +25 -0
  113. data/spec/middleware/cache_spec.rbc +712 -0
  114. data/spec/middleware/cookie_jar_spec.rb +19 -0
  115. data/spec/middleware/cookie_jar_spec.rbc +614 -0
  116. data/spec/middleware/etag_spec.rb +10 -0
  117. data/spec/middleware/etag_spec.rbc +438 -0
  118. data/spec/middleware/follow_redirects_spec.rb +12 -0
  119. data/spec/middleware/follow_redirects_spec.rbc +402 -0
  120. data/spec/middleware/lint_spec.rb +10 -0
  121. data/spec/middleware/lint_spec.rbc +392 -0
  122. data/spec/shared/handler_api.rb +33 -0
  123. data/spec/shared/handler_api.rbc +1340 -0
  124. data/spec/shared/streamed_response_api.rb +14 -0
  125. data/spec/shared/streamed_response_api.rbc +508 -0
  126. data/spec/spec_apps/cache.ru +14 -0
  127. data/spec/spec_apps/cookie.ru +12 -0
  128. data/spec/spec_apps/delete.ru +10 -0
  129. data/spec/spec_apps/get.ru +13 -0
  130. data/spec/spec_apps/head.ru +10 -0
  131. data/spec/spec_apps/hello_world.ru +1 -0
  132. data/spec/spec_apps/redirect.ru +13 -0
  133. data/spec/spec_apps/stream.ru +9 -0
  134. data/spec/spec_config.ru +10 -0
  135. data/spec/spec_helper.rb +14 -12
  136. metadata +190 -64
  137. data/lib/rack/client/cache.rb +0 -19
  138. data/lib/rack/client/cookie_jar.rb +0 -17
  139. data/lib/rack/client/response.rb +0 -9
  140. data/spec/apps/example.org.ru +0 -128
  141. data/spec/auth/basic_spec.rb +0 -69
  142. data/spec/auth/digest/md5_spec.rb +0 -69
  143. data/spec/cache_spec.rb +0 -40
  144. data/spec/cookie_jar_spec.rb +0 -37
  145. data/spec/endpoint_spec.rb +0 -30
  146. data/spec/follow_redirect_spec.rb +0 -27
  147. data/spec/handler/async_api_spec.rb +0 -69
  148. data/spec/handler/sync_api_spec.rb +0 -55
  149. data/spec/middleware_helper.rb +0 -37
  150. data/spec/middleware_spec.rb +0 -53
  151. data/spec/parser/json_spec.rb +0 -22
  152. data/spec/parser/yaml_spec.rb +0 -22
  153. data/spec/server_helper.rb +0 -72
@@ -0,0 +1,307 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 28
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 5
23
+ 45
24
+ 2
25
+ 3
26
+ 43
27
+ 4
28
+ 43
29
+ 5
30
+ 43
31
+ 6
32
+ 56
33
+ 7
34
+ 47
35
+ 50
36
+ 8
37
+ 1
38
+ 15
39
+ 2
40
+ 11
41
+ I
42
+ 3
43
+ I
44
+ 0
45
+ I
46
+ 0
47
+ I
48
+ 0
49
+ n
50
+ p
51
+ 9
52
+ s
53
+ 11
54
+ spec_helper
55
+ x
56
+ 7
57
+ require
58
+ x
59
+ 4
60
+ Rack
61
+ n
62
+ x
63
+ 6
64
+ Client
65
+ x
66
+ 7
67
+ Handler
68
+ x
69
+ 7
70
+ NetHTTP
71
+ M
72
+ 1
73
+ p
74
+ 2
75
+ x
76
+ 9
77
+ for_block
78
+ t
79
+ n
80
+ x
81
+ 9
82
+ __block__
83
+ i
84
+ 34
85
+ 5
86
+ 45
87
+ 0
88
+ 1
89
+ 43
90
+ 2
91
+ 43
92
+ 3
93
+ 43
94
+ 4
95
+ 56
96
+ 5
97
+ 47
98
+ 50
99
+ 6
100
+ 1
101
+ 15
102
+ 5
103
+ 45
104
+ 0
105
+ 7
106
+ 43
107
+ 2
108
+ 43
109
+ 3
110
+ 43
111
+ 4
112
+ 56
113
+ 8
114
+ 47
115
+ 50
116
+ 9
117
+ 1
118
+ 11
119
+ I
120
+ 4
121
+ I
122
+ 0
123
+ I
124
+ 0
125
+ I
126
+ 0
127
+ I
128
+ -2
129
+ p
130
+ 10
131
+ x
132
+ 4
133
+ Rack
134
+ n
135
+ x
136
+ 6
137
+ Client
138
+ x
139
+ 7
140
+ Handler
141
+ x
142
+ 7
143
+ NetHTTP
144
+ M
145
+ 1
146
+ p
147
+ 2
148
+ x
149
+ 9
150
+ for_block
151
+ t
152
+ n
153
+ x
154
+ 9
155
+ __block__
156
+ i
157
+ 9
158
+ 5
159
+ 7
160
+ 0
161
+ 64
162
+ 47
163
+ 49
164
+ 1
165
+ 1
166
+ 11
167
+ I
168
+ 3
169
+ I
170
+ 0
171
+ I
172
+ 0
173
+ I
174
+ 0
175
+ I
176
+ -2
177
+ p
178
+ 2
179
+ s
180
+ 11
181
+ Handler API
182
+ x
183
+ 21
184
+ it_should_behave_like
185
+ p
186
+ 5
187
+ I
188
+ 0
189
+ I
190
+ 4
191
+ I
192
+ 0
193
+ I
194
+ 5
195
+ I
196
+ 9
197
+ x
198
+ 57
199
+ /Users/ben/code/rack-client/spec/handler/net_http_spec.rb
200
+ p
201
+ 0
202
+ x
203
+ 21
204
+ async_handler_context
205
+ n
206
+ M
207
+ 1
208
+ p
209
+ 2
210
+ x
211
+ 9
212
+ for_block
213
+ t
214
+ n
215
+ x
216
+ 9
217
+ __block__
218
+ i
219
+ 9
220
+ 5
221
+ 7
222
+ 0
223
+ 64
224
+ 47
225
+ 49
226
+ 1
227
+ 1
228
+ 11
229
+ I
230
+ 3
231
+ I
232
+ 0
233
+ I
234
+ 0
235
+ I
236
+ 0
237
+ I
238
+ -2
239
+ p
240
+ 2
241
+ s
242
+ 11
243
+ Handler API
244
+ x
245
+ 21
246
+ it_should_behave_like
247
+ p
248
+ 5
249
+ I
250
+ 0
251
+ I
252
+ 8
253
+ I
254
+ 0
255
+ I
256
+ 9
257
+ I
258
+ 9
259
+ x
260
+ 57
261
+ /Users/ben/code/rack-client/spec/handler/net_http_spec.rb
262
+ p
263
+ 0
264
+ x
265
+ 20
266
+ sync_handler_context
267
+ p
268
+ 7
269
+ I
270
+ 0
271
+ I
272
+ 3
273
+ I
274
+ 0
275
+ I
276
+ 4
277
+ I
278
+ 11
279
+ I
280
+ 8
281
+ I
282
+ 22
283
+ x
284
+ 57
285
+ /Users/ben/code/rack-client/spec/handler/net_http_spec.rb
286
+ p
287
+ 0
288
+ x
289
+ 8
290
+ describe
291
+ p
292
+ 5
293
+ I
294
+ 0
295
+ I
296
+ 1
297
+ I
298
+ 9
299
+ I
300
+ 3
301
+ I
302
+ 1c
303
+ x
304
+ 57
305
+ /Users/ben/code/rack-client/spec/handler/net_http_spec.rb
306
+ p
307
+ 0
@@ -1,22 +1,11 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
- describe Rack::Client::Handler::Excon do
4
-
5
- def client
6
- Rack::Client::Handler::Typhoeus # manual autoload :(
7
-
8
- hydra = self.hydra
9
- Rack::Client.new { run Rack::Client::Handler::Typhoeus.new("http://localhost:#{server.port}", hydra) }
3
+ describe Rack::Client::Handler::Typhoeus do
4
+ async_handler_context(Rack::Client::Handler::Typhoeus) do
5
+ it_should_behave_like "Handler API"
10
6
  end
11
7
 
12
- def hydra
13
- @@hydra ||= Typhoeus::Hydra.new
8
+ sync_handler_context(Rack::Client::Handler::Typhoeus) do
9
+ it_should_behave_like "Handler API"
14
10
  end
15
-
16
- def finish
17
- hydra.run
18
- end
19
-
20
- it_should_behave_like "Synchronous Request API"
21
- it_should_behave_like "Asynchronous Request API"
22
11
  end
@@ -0,0 +1,307 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 28
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 5
23
+ 45
24
+ 2
25
+ 3
26
+ 43
27
+ 4
28
+ 43
29
+ 5
30
+ 43
31
+ 6
32
+ 56
33
+ 7
34
+ 47
35
+ 50
36
+ 8
37
+ 1
38
+ 15
39
+ 2
40
+ 11
41
+ I
42
+ 3
43
+ I
44
+ 0
45
+ I
46
+ 0
47
+ I
48
+ 0
49
+ n
50
+ p
51
+ 9
52
+ s
53
+ 11
54
+ spec_helper
55
+ x
56
+ 7
57
+ require
58
+ x
59
+ 4
60
+ Rack
61
+ n
62
+ x
63
+ 6
64
+ Client
65
+ x
66
+ 7
67
+ Handler
68
+ x
69
+ 8
70
+ Typhoeus
71
+ M
72
+ 1
73
+ p
74
+ 2
75
+ x
76
+ 9
77
+ for_block
78
+ t
79
+ n
80
+ x
81
+ 9
82
+ __block__
83
+ i
84
+ 34
85
+ 5
86
+ 45
87
+ 0
88
+ 1
89
+ 43
90
+ 2
91
+ 43
92
+ 3
93
+ 43
94
+ 4
95
+ 56
96
+ 5
97
+ 47
98
+ 50
99
+ 6
100
+ 1
101
+ 15
102
+ 5
103
+ 45
104
+ 0
105
+ 7
106
+ 43
107
+ 2
108
+ 43
109
+ 3
110
+ 43
111
+ 4
112
+ 56
113
+ 8
114
+ 47
115
+ 50
116
+ 9
117
+ 1
118
+ 11
119
+ I
120
+ 4
121
+ I
122
+ 0
123
+ I
124
+ 0
125
+ I
126
+ 0
127
+ I
128
+ -2
129
+ p
130
+ 10
131
+ x
132
+ 4
133
+ Rack
134
+ n
135
+ x
136
+ 6
137
+ Client
138
+ x
139
+ 7
140
+ Handler
141
+ x
142
+ 8
143
+ Typhoeus
144
+ M
145
+ 1
146
+ p
147
+ 2
148
+ x
149
+ 9
150
+ for_block
151
+ t
152
+ n
153
+ x
154
+ 9
155
+ __block__
156
+ i
157
+ 9
158
+ 5
159
+ 7
160
+ 0
161
+ 64
162
+ 47
163
+ 49
164
+ 1
165
+ 1
166
+ 11
167
+ I
168
+ 3
169
+ I
170
+ 0
171
+ I
172
+ 0
173
+ I
174
+ 0
175
+ I
176
+ -2
177
+ p
178
+ 2
179
+ s
180
+ 11
181
+ Handler API
182
+ x
183
+ 21
184
+ it_should_behave_like
185
+ p
186
+ 5
187
+ I
188
+ 0
189
+ I
190
+ 4
191
+ I
192
+ 0
193
+ I
194
+ 5
195
+ I
196
+ 9
197
+ x
198
+ 57
199
+ /Users/ben/code/rack-client/spec/handler/typhoeus_spec.rb
200
+ p
201
+ 0
202
+ x
203
+ 21
204
+ async_handler_context
205
+ n
206
+ M
207
+ 1
208
+ p
209
+ 2
210
+ x
211
+ 9
212
+ for_block
213
+ t
214
+ n
215
+ x
216
+ 9
217
+ __block__
218
+ i
219
+ 9
220
+ 5
221
+ 7
222
+ 0
223
+ 64
224
+ 47
225
+ 49
226
+ 1
227
+ 1
228
+ 11
229
+ I
230
+ 3
231
+ I
232
+ 0
233
+ I
234
+ 0
235
+ I
236
+ 0
237
+ I
238
+ -2
239
+ p
240
+ 2
241
+ s
242
+ 11
243
+ Handler API
244
+ x
245
+ 21
246
+ it_should_behave_like
247
+ p
248
+ 5
249
+ I
250
+ 0
251
+ I
252
+ 8
253
+ I
254
+ 0
255
+ I
256
+ 9
257
+ I
258
+ 9
259
+ x
260
+ 57
261
+ /Users/ben/code/rack-client/spec/handler/typhoeus_spec.rb
262
+ p
263
+ 0
264
+ x
265
+ 20
266
+ sync_handler_context
267
+ p
268
+ 7
269
+ I
270
+ 0
271
+ I
272
+ 3
273
+ I
274
+ 0
275
+ I
276
+ 4
277
+ I
278
+ 11
279
+ I
280
+ 8
281
+ I
282
+ 22
283
+ x
284
+ 57
285
+ /Users/ben/code/rack-client/spec/handler/typhoeus_spec.rb
286
+ p
287
+ 0
288
+ x
289
+ 8
290
+ describe
291
+ p
292
+ 5
293
+ I
294
+ 0
295
+ I
296
+ 1
297
+ I
298
+ 9
299
+ I
300
+ 3
301
+ I
302
+ 1c
303
+ x
304
+ 57
305
+ /Users/ben/code/rack-client/spec/handler/typhoeus_spec.rb
306
+ p
307
+ 0
@@ -0,0 +1,31 @@
1
+ module AsyncHelper
2
+ class AsyncProxy < Struct.new(:subject, :callback)
3
+ def method_missing(*a)
4
+ subject.send(*a, &callback)
5
+ end
6
+ end
7
+
8
+ def request(&b)
9
+ @_request_block = b
10
+ end
11
+
12
+ def response(&b)
13
+ @_response_block = b
14
+ run
15
+ end
16
+
17
+ def run
18
+ proxy = AsyncProxy.new(subject, method(:callback))
19
+ proxy.instance_eval(&@_request_block)
20
+ end
21
+
22
+ def callback(response)
23
+ response.instance_eval(&@_response_block)
24
+ ensure
25
+ finish
26
+ end
27
+
28
+ def finish
29
+ #noop
30
+ end
31
+ end