excon 0.49.0 → 0.88.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CONTRIBUTORS.md +33 -3
- data/LICENSE.md +1 -1
- data/README.md +77 -7
- data/data/cacert.pem +1279 -1940
- data/excon.gemspec +32 -170
- data/lib/excon/connection.rb +257 -154
- data/lib/excon/constants.rb +44 -16
- data/lib/excon/error.rb +229 -0
- data/lib/excon/extensions/uri.rb +1 -0
- data/lib/excon/headers.rb +5 -3
- data/lib/excon/instrumentors/logging_instrumentor.rb +48 -0
- data/lib/excon/instrumentors/standard_instrumentor.rb +21 -0
- data/lib/excon/middlewares/base.rb +7 -0
- data/lib/excon/middlewares/capture_cookies.rb +2 -1
- data/lib/excon/middlewares/decompress.rb +3 -2
- data/lib/excon/middlewares/escape_path.rb +1 -0
- data/lib/excon/middlewares/expects.rb +8 -1
- data/lib/excon/middlewares/idempotent.rb +27 -3
- data/lib/excon/middlewares/instrumentor.rb +9 -0
- data/lib/excon/middlewares/mock.rb +14 -4
- data/lib/excon/middlewares/redirect_follower.rb +28 -4
- data/lib/excon/middlewares/response_parser.rb +4 -0
- data/lib/excon/pretty_printer.rb +2 -8
- data/lib/excon/response.rb +16 -12
- data/lib/excon/socket.rb +56 -36
- data/lib/excon/ssl_socket.rb +70 -25
- data/lib/excon/test/plugin/server/exec.rb +26 -0
- data/lib/excon/test/plugin/server/puma.rb +23 -0
- data/lib/excon/test/plugin/server/unicorn.rb +38 -0
- data/lib/excon/test/plugin/server/webrick.rb +26 -0
- data/lib/excon/test/server.rb +106 -0
- data/lib/excon/unix_socket.rb +2 -0
- data/lib/excon/utils.rb +65 -10
- data/lib/excon/version.rb +4 -0
- data/lib/excon.rb +35 -20
- metadata +69 -87
- data/Gemfile +0 -19
- data/Gemfile.lock +0 -285
- data/Rakefile +0 -144
- data/benchmarks/class_vs_lambda.rb +0 -50
- data/benchmarks/concat_vs_insert.rb +0 -21
- data/benchmarks/concat_vs_interpolate.rb +0 -21
- data/benchmarks/cr_lf.rb +0 -21
- data/benchmarks/downcase-eq-eq_vs_casecmp.rb +0 -169
- data/benchmarks/excon.rb +0 -69
- data/benchmarks/excon_vs.rb +0 -165
- data/benchmarks/for_vs_array_each.rb +0 -27
- data/benchmarks/for_vs_hash_each.rb +0 -27
- data/benchmarks/has_key-vs-lookup.rb +0 -177
- data/benchmarks/headers_case_sensitivity.rb +0 -83
- data/benchmarks/headers_split_vs_match.rb +0 -34
- data/benchmarks/implicit_block-vs-explicit_block.rb +0 -98
- data/benchmarks/merging.rb +0 -21
- data/benchmarks/single_vs_double_quotes.rb +0 -21
- data/benchmarks/string_ranged_index.rb +0 -87
- data/benchmarks/strip_newline.rb +0 -115
- data/benchmarks/vs_stdlib.rb +0 -82
- data/changelog.txt +0 -959
- data/lib/excon/errors.rb +0 -172
- data/lib/excon/standard_instrumentor.rb +0 -27
- data/tests/authorization_header_tests.rb +0 -33
- data/tests/bad_tests.rb +0 -47
- data/tests/basic_tests.rb +0 -334
- data/tests/complete_responses.rb +0 -31
- data/tests/data/127.0.0.1.cert.crt +0 -14
- data/tests/data/127.0.0.1.cert.key +0 -15
- data/tests/data/excon.cert.crt +0 -14
- data/tests/data/excon.cert.key +0 -15
- data/tests/data/xs +0 -1
- data/tests/errors_tests.rb +0 -58
- data/tests/header_tests.rb +0 -119
- data/tests/middlewares/canned_response_tests.rb +0 -34
- data/tests/middlewares/capture_cookies_tests.rb +0 -34
- data/tests/middlewares/decompress_tests.rb +0 -157
- data/tests/middlewares/escape_path_tests.rb +0 -36
- data/tests/middlewares/idempotent_tests.rb +0 -131
- data/tests/middlewares/instrumentation_tests.rb +0 -312
- data/tests/middlewares/mock_tests.rb +0 -293
- data/tests/middlewares/redirect_follower_tests.rb +0 -80
- data/tests/pipeline_tests.rb +0 -40
- data/tests/proxy_tests.rb +0 -306
- data/tests/query_string_tests.rb +0 -87
- data/tests/rackups/basic.rb +0 -41
- data/tests/rackups/basic.ru +0 -3
- data/tests/rackups/basic_auth.ru +0 -14
- data/tests/rackups/deflater.ru +0 -4
- data/tests/rackups/proxy.ru +0 -18
- data/tests/rackups/query_string.ru +0 -13
- data/tests/rackups/redirecting.ru +0 -23
- data/tests/rackups/redirecting_with_cookie.ru +0 -40
- data/tests/rackups/request_headers.ru +0 -15
- data/tests/rackups/request_methods.ru +0 -21
- data/tests/rackups/response_header.ru +0 -18
- data/tests/rackups/ssl.ru +0 -16
- data/tests/rackups/ssl_mismatched_cn.ru +0 -15
- data/tests/rackups/ssl_verify_peer.ru +0 -16
- data/tests/rackups/streaming.ru +0 -30
- data/tests/rackups/thread_safety.ru +0 -17
- data/tests/rackups/timeout.ru +0 -14
- data/tests/rackups/webrick_patch.rb +0 -34
- data/tests/request_headers_tests.rb +0 -21
- data/tests/request_method_tests.rb +0 -47
- data/tests/request_tests.rb +0 -59
- data/tests/response_tests.rb +0 -197
- data/tests/servers/bad.rb +0 -20
- data/tests/servers/eof.rb +0 -17
- data/tests/servers/error.rb +0 -20
- data/tests/servers/good.rb +0 -350
- data/tests/test_helper.rb +0 -306
- data/tests/thread_safety_tests.rb +0 -39
- data/tests/timeout_tests.rb +0 -12
- data/tests/utils_tests.rb +0 -81
data/changelog.txt
DELETED
@@ -1,959 +0,0 @@
|
|
1
|
-
0.49.0 03/28/2016
|
2
|
-
=================
|
3
|
-
|
4
|
-
fix nonblock ssl socket connect timeout handling
|
5
|
-
fix README debug example
|
6
|
-
make unique class for certificate errors
|
7
|
-
connection logic cleanup
|
8
|
-
change stubs back to global (with local option via defaults)
|
9
|
-
specific handling for set-cookie header exceptions
|
10
|
-
|
11
|
-
0.48.0 03/07/2016
|
12
|
-
=================
|
13
|
-
|
14
|
-
optimize by writing part of body with headers when it fits in a chunk
|
15
|
-
|
16
|
-
0.47.0 02/29/2016
|
17
|
-
=================
|
18
|
-
|
19
|
-
fix bundled certs
|
20
|
-
fix instrumentors to allow recording timings
|
21
|
-
|
22
|
-
0.46.0 02/26/2016
|
23
|
-
=================
|
24
|
-
|
25
|
-
empty host header for unix sockets
|
26
|
-
raise EOFError on unexpectedly read nil
|
27
|
-
add host/path/port to response
|
28
|
-
keep cookies through redirects
|
29
|
-
fix to skip decompressing empty bodies
|
30
|
-
fix escaping for query string
|
31
|
-
README improvements
|
32
|
-
fix SocketError initializer
|
33
|
-
fix incorrect error class usage
|
34
|
-
|
35
|
-
0.45.4 07/13/2015
|
36
|
-
=================
|
37
|
-
|
38
|
-
fix undefined errors in error handling
|
39
|
-
ignore empty proxy values
|
40
|
-
|
41
|
-
0.45.3 04/21/2015
|
42
|
-
=================
|
43
|
-
|
44
|
-
guard warning about openssl versions in case constant undefined
|
45
|
-
ensure rackup listens properly, fixes local tests
|
46
|
-
|
47
|
-
0.45.2 04/16/2015
|
48
|
-
=================
|
49
|
-
|
50
|
-
add raw_status reader
|
51
|
-
improved tests around response/status
|
52
|
-
rescue IO::WaitWritable for SSL sockets also
|
53
|
-
indentation fixes
|
54
|
-
tighten rescue in ssl socket connect to better report non-timeouts
|
55
|
-
rescue EAGAIN and EWOULDBLOCK for non-blocking connects
|
56
|
-
|
57
|
-
0.45.1 03/27/2015
|
58
|
-
=================
|
59
|
-
|
60
|
-
fix scope for readline buffer, fixes dropped initial characters
|
61
|
-
|
62
|
-
0.45.0 03/26/2015
|
63
|
-
=================
|
64
|
-
|
65
|
-
prefer default SSL config to ENV, when available
|
66
|
-
document instrumentor deviation from rails format
|
67
|
-
better error/warning around openssl 1.0.2 bug
|
68
|
-
fix nonblocking ssl connect to not have tight loop
|
69
|
-
also remove user/pass when following redirects
|
70
|
-
|
71
|
-
0.44.4 03/04/2015
|
72
|
-
=================
|
73
|
-
|
74
|
-
update bundled certs
|
75
|
-
loosen travis versions, to get ~> type follow-the-leader behavior
|
76
|
-
fix syntax issue in ruby 2.2.1
|
77
|
-
|
78
|
-
0.44.3 02/24/2015
|
79
|
-
=================
|
80
|
-
|
81
|
-
don't pass body when following GET redirects
|
82
|
-
fix error rescue case to properly reference error object
|
83
|
-
|
84
|
-
0.44.2 02/11/2015
|
85
|
-
=================
|
86
|
-
|
87
|
-
simplify data[:debug] logic
|
88
|
-
catch nonblock errors around readline
|
89
|
-
|
90
|
-
|
91
|
-
0.44.1 02/01/2015
|
92
|
-
=================
|
93
|
-
|
94
|
-
fix issue with frozen strings in user/pass
|
95
|
-
|
96
|
-
0.44.0 01/30/2015
|
97
|
-
=================
|
98
|
-
|
99
|
-
re-implement timeout using IO.select
|
100
|
-
document custom URI parser usage
|
101
|
-
fix ruby 2.2 build
|
102
|
-
improved IPv6 support
|
103
|
-
Excon::Utils improvements
|
104
|
-
add 429 errors
|
105
|
-
|
106
|
-
0.43.0 01/09/2015
|
107
|
-
=================
|
108
|
-
|
109
|
-
use basic error instead of nil as default for socket error
|
110
|
-
allow setup_proxy to accept uri
|
111
|
-
add disable_proxy and proxy: false to disable proxy settings
|
112
|
-
|
113
|
-
0.42.1 12/04/2014
|
114
|
-
=================
|
115
|
-
|
116
|
-
update bundled certs
|
117
|
-
fix redirect follower to avoid erroneously setting basic auth
|
118
|
-
|
119
|
-
0.42.0 12/02/2014
|
120
|
-
=================
|
121
|
-
|
122
|
-
fix stubbing section of README
|
123
|
-
follow redirect for all request methods
|
124
|
-
remove unhelpful link for excon.io
|
125
|
-
rescue/ignore illegal seek on rewind
|
126
|
-
add ssl_cert_store option
|
127
|
-
allow non-RSA ssl keys
|
128
|
-
attempt to rewind request_block when idempotent
|
129
|
-
add configurable thread safety for socket pool
|
130
|
-
|
131
|
-
|
132
|
-
0.41.0 11/05/2014
|
133
|
-
=================
|
134
|
-
|
135
|
-
add :ssl_verify_peer_host option for dev purposes
|
136
|
-
add #reason_phrase to response
|
137
|
-
|
138
|
-
0.40.0 10/06/2014
|
139
|
-
=================
|
140
|
-
|
141
|
-
fix support for specifying ssl_ca_path
|
142
|
-
more consistent response_block/response.body behavior for mocks
|
143
|
-
add support for proxies running on unix domain sockets
|
144
|
-
|
145
|
-
0.39.6 09/22/2014
|
146
|
-
=================
|
147
|
-
|
148
|
-
pretty print stub not found errors
|
149
|
-
|
150
|
-
0.39.5 09/14/2014
|
151
|
-
=================
|
152
|
-
|
153
|
-
fix double delegation error
|
154
|
-
make client_key_pass valid connection key
|
155
|
-
cast headers to_s to fix historical symbol usage
|
156
|
-
|
157
|
-
0.39.4 08/08/2014
|
158
|
-
=================
|
159
|
-
|
160
|
-
ensure Response#new uses case-insensitive headers
|
161
|
-
add client cert pass phrase support
|
162
|
-
|
163
|
-
0.39.3 08/05/2014
|
164
|
-
=================
|
165
|
-
|
166
|
-
fix for nil and/or unknown proxy values
|
167
|
-
|
168
|
-
0.39.2 08/04/2014
|
169
|
-
=================
|
170
|
-
|
171
|
-
respect both ca_file/ca_path when both present
|
172
|
-
|
173
|
-
0.39.1 08/04/2014
|
174
|
-
=================
|
175
|
-
|
176
|
-
fix for ssl proxies + remote_ip stuff
|
177
|
-
|
178
|
-
0.39.0 08/01/2014
|
179
|
-
=================
|
180
|
-
|
181
|
-
revert to a blocking readline, for performance
|
182
|
-
simplify status lookup
|
183
|
-
consolidate proxy code
|
184
|
-
store defaults as a constant
|
185
|
-
avoid setting nil user/pass vs just no setting keys
|
186
|
-
move idempotent warnings in to middleware
|
187
|
-
simplify validations
|
188
|
-
use constants in utils
|
189
|
-
group non-chunk response paring
|
190
|
-
optimize/simplify socket local lookup
|
191
|
-
simplify to pro-actively build downcased headers instead of lazily do so
|
192
|
-
add version to options (so it will appear in debug)
|
193
|
-
add OS/Ruby version info to options/version for debugging
|
194
|
-
more consistent output styling for errors
|
195
|
-
remove TE stuff to simplify
|
196
|
-
shorten timeout/sleep in streaming tests
|
197
|
-
remove transfer-encoding altogether if it only includes chunked
|
198
|
-
only rescue http status errors in relevant tests
|
199
|
-
use case-insensitive headers in stubs also
|
200
|
-
|
201
|
-
0.38.0 07/09/2014
|
202
|
-
=================
|
203
|
-
|
204
|
-
avoid reading non-file bodies (mock related fix)
|
205
|
-
fixes to readme links
|
206
|
-
fix excon_debug to set debug_response
|
207
|
-
ensure both \r and \n are read when parsing headers
|
208
|
-
|
209
|
-
0.37.0 06/09/2014
|
210
|
-
=================
|
211
|
-
|
212
|
-
fix chunked reading to avoid chop! on non-chunk endings
|
213
|
-
fixes for proxy usage
|
214
|
-
|
215
|
-
0.36.0 06/04/2014
|
216
|
-
=================
|
217
|
-
|
218
|
-
fix to reconcile streaming changes for chunked encoding
|
219
|
-
|
220
|
-
0.35.0 06/03/2014
|
221
|
-
=================
|
222
|
-
|
223
|
-
fix for responses with content_length
|
224
|
-
|
225
|
-
0.34.0 05/29/2014
|
226
|
-
=================
|
227
|
-
|
228
|
-
add support for setting ssl_verify_callback
|
229
|
-
stream partial results imediately, when available
|
230
|
-
update rack/unicorn in tests to support streaming tests
|
231
|
-
skip streaming tests on jruby (as they depend on unicorn)
|
232
|
-
update travis tests to use newest rubinius
|
233
|
-
improve formatting/readibility of standard instrumentor output
|
234
|
-
|
235
|
-
0.33.0 05/15/2014
|
236
|
-
=================
|
237
|
-
|
238
|
-
README clarifications around defaults and basic auth
|
239
|
-
case insensitive headers
|
240
|
-
|
241
|
-
0.32.1 03/13/2014
|
242
|
-
=================
|
243
|
-
|
244
|
-
Fix for SNI (should occur prior to connect)
|
245
|
-
|
246
|
-
0.32.0 02/27/2014
|
247
|
-
=================
|
248
|
-
|
249
|
-
README improvements
|
250
|
-
fixes around LICENSE/CONTRIBUTING/CONTRIBUTORS
|
251
|
-
update bundled cert
|
252
|
-
nonblock connect/timeout fixes for ssl sockets
|
253
|
-
skip reverse lookups where feasible
|
254
|
-
more secure ssl settings, when available
|
255
|
-
add escape stuff as middleware
|
256
|
-
fix to raise exceptions properly
|
257
|
-
fix for keep alive check
|
258
|
-
add tests around keep alive
|
259
|
-
escape/unescape uri added to utils
|
260
|
-
add support for reusable local ports
|
261
|
-
|
262
|
-
0.31.0 12/16/2013
|
263
|
-
=================
|
264
|
-
|
265
|
-
test fixes for Bundler.require usage and Rack::Lint
|
266
|
-
use production mode + dump errors for tests
|
267
|
-
use Utils in Excon.stub
|
268
|
-
add implementation of stuff from WEBrick directly to utils
|
269
|
-
update test server to send connection close and process buffer after response
|
270
|
-
add :persistent option, defaults true
|
271
|
-
group HTTP errors by type
|
272
|
-
patch to webrick to workaround intermitent test failures
|
273
|
-
only use Open4 for 1.8.7
|
274
|
-
update/expand getting help/getting involved in readme
|
275
|
-
|
276
|
-
0.30.0 11/25/2013
|
277
|
-
=================
|
278
|
-
|
279
|
-
ensure schema/host/port are passed to redirect follower with relative location
|
280
|
-
add .ruby-version and .ruby-gemset to .gitignore
|
281
|
-
pass nil to :response_block for unknown values
|
282
|
-
use :response_block if expects middleware is not used
|
283
|
-
refactor Response.parse, add tests
|
284
|
-
support header continuations
|
285
|
-
support chunked trailers
|
286
|
-
improve decompress middleware/tests
|
287
|
-
add accept-encoding in decompress middleware requests, if missing
|
288
|
-
fixes for connection close detection
|
289
|
-
support transfer encoding
|
290
|
-
fix deprecated URI.decode usage
|
291
|
-
do not try to use tcp_nodelay for unix sockets
|
292
|
-
nonblocking connect, connect timeouts for unix sockets
|
293
|
-
ignore IO#close exceptions
|
294
|
-
move conditional nonblock to only SSLSocket
|
295
|
-
skip reverse lookups
|
296
|
-
avoid mutating canned response from middleware
|
297
|
-
test against latest rubinius, no longer allow failures
|
298
|
-
add unicorn as rubinius dev dependency
|
299
|
-
use webbrick form decode
|
300
|
-
|
301
|
-
0.29.0 11/07/2013
|
302
|
-
=================
|
303
|
-
|
304
|
-
make nonblock invalid as request key
|
305
|
-
add backtrace to all warnings
|
306
|
-
do not allow idempotent + pipeline
|
307
|
-
close socket after pipeline if needed
|
308
|
-
fix Socket#read to match IO.read EOF behavior
|
309
|
-
use Socket#read for non-blocking readline
|
310
|
-
respect read_timeout for status read
|
311
|
-
read response until status line, discard chunked trailer
|
312
|
-
fix redirect follower to properly change host
|
313
|
-
|
314
|
-
0.28.0 10/28/2013
|
315
|
-
=================
|
316
|
-
|
317
|
-
tag warning messages with [excon]
|
318
|
-
allow specific ssl_versions
|
319
|
-
fixes around param validation
|
320
|
-
create a new connection for redirect_follower middleware
|
321
|
-
add connection_uri/request_uri to utils
|
322
|
-
avoid mutating connection data
|
323
|
-
remove connection key in redirect_follower
|
324
|
-
|
325
|
-
|
326
|
-
0.27.6 10/15/2013
|
327
|
-
=================
|
328
|
-
|
329
|
-
warn, but no longer mutate params during validation
|
330
|
-
|
331
|
-
0.27.5 10/14/2013
|
332
|
-
=================
|
333
|
-
|
334
|
-
extract validations/port_string to utils module
|
335
|
-
|
336
|
-
0.27.4 10/14/2013
|
337
|
-
=================
|
338
|
-
|
339
|
-
fix for https/port string values
|
340
|
-
|
341
|
-
0.27.3 10/11/2013
|
342
|
-
=================
|
343
|
-
|
344
|
-
better invalid key handling
|
345
|
-
avoid mutating port value
|
346
|
-
|
347
|
-
0.27.2 10/10/2013
|
348
|
-
=================
|
349
|
-
|
350
|
-
avoid mutating datum in idempotent middleware
|
351
|
-
|
352
|
-
0.27.1 10/09/2013
|
353
|
-
=================
|
354
|
-
|
355
|
-
improve warning messages for valid keys
|
356
|
-
|
357
|
-
0.27.0 10/04/2013
|
358
|
-
=================
|
359
|
-
|
360
|
-
display warnings based on ruby and/or debug settings
|
361
|
-
add missing valid connection keys
|
362
|
-
remove 1.8.7 related nonblock warning
|
363
|
-
add support for unix sockets
|
364
|
-
cleanup constants
|
365
|
-
improve test setup to minimize server spawning
|
366
|
-
separate connection/request key validation
|
367
|
-
|
368
|
-
0.26.0 09/24/2013
|
369
|
-
=================
|
370
|
-
|
371
|
-
add basic decompress middleware
|
372
|
-
update readme mocking+stubbing info
|
373
|
-
add unstub functionality
|
374
|
-
avoid modifying original options in request
|
375
|
-
jruby fixes
|
376
|
-
misc cleanup/fixes
|
377
|
-
encoding/compatibility fixes
|
378
|
-
close sockets on error
|
379
|
-
warn when both request_block and idempotent are set
|
380
|
-
|
381
|
-
0.25.3 07/18/2013
|
382
|
-
=================
|
383
|
-
|
384
|
-
respect SSL_CERT_DIR/SSL_CERT_FILE
|
385
|
-
more aggressively include bundled cert as fallback
|
386
|
-
|
387
|
-
0.25.2 07/18/2013
|
388
|
-
=================
|
389
|
-
|
390
|
-
add license to gemspec
|
391
|
-
add "excon/#{version}" default user agent
|
392
|
-
create/use response parser middleware
|
393
|
-
fix proxy request info to use datum rather than @data
|
394
|
-
|
395
|
-
|
396
|
-
0.25.1 07/01/2013
|
397
|
-
=================
|
398
|
-
|
399
|
-
fix for jruby ssl
|
400
|
-
more explicit description in docs
|
401
|
-
|
402
|
-
0.25.0 06/20/2013
|
403
|
-
=================
|
404
|
-
|
405
|
-
attempt to use OS certs first, only use bundled as fallback
|
406
|
-
normalize method in stubs
|
407
|
-
|
408
|
-
0.24.0 06/12/2013
|
409
|
-
=================
|
410
|
-
|
411
|
-
allow passing ssl creds as strings or file paths
|
412
|
-
|
413
|
-
0.23.0 06/10/2013
|
414
|
-
=================
|
415
|
-
|
416
|
-
defer writing request/headers to allow all-in-one
|
417
|
-
allow opt-in for request/response error info
|
418
|
-
add configurable TCP_NODELAY
|
419
|
-
consolidate warning display
|
420
|
-
respect ruby verbosity conventions
|
421
|
-
fix copyright years in notice
|
422
|
-
|
423
|
-
0.22.1 05/17/2013
|
424
|
-
=================
|
425
|
-
|
426
|
-
fix logic error in dropping default ports
|
427
|
-
|
428
|
-
0.22.0 05/17/2013
|
429
|
-
=================
|
430
|
-
|
431
|
-
remove request/response info from default error messages to avoid credential leaks
|
432
|
-
add option to omit default ports (http:80 and https:443)
|
433
|
-
add examples for form encoding
|
434
|
-
updates to facilitate streaming responses from middleware responses
|
435
|
-
|
436
|
-
0.21.0 05/04/2013
|
437
|
-
=================
|
438
|
-
|
439
|
-
update bundled cacert
|
440
|
-
add deprecated connection helper
|
441
|
-
URL decode user/pass for basic auth
|
442
|
-
fix odd name/permissions in benchmarks
|
443
|
-
check for socket before closing one
|
444
|
-
add support for no_proxy
|
445
|
-
include scheme in socket key
|
446
|
-
make socket.connect private
|
447
|
-
allow stub lookup with Excon.stub_for
|
448
|
-
|
449
|
-
0.20.1 03/19/2013
|
450
|
-
=================
|
451
|
-
|
452
|
-
dup middlewares to avoid overwriting original set
|
453
|
-
delete datum[:response] in idempotent to ensure new response is parsed
|
454
|
-
|
455
|
-
0.20.0 03/08/2013
|
456
|
-
=================
|
457
|
-
|
458
|
-
redact password from inspect/instrument
|
459
|
-
downgrade severity of invalid keys from error to warning
|
460
|
-
|
461
|
-
0.19.5 03/04/2013
|
462
|
-
=================
|
463
|
-
|
464
|
-
fix ssl socket proxy setup
|
465
|
-
|
466
|
-
0.19.4 03/04/2013
|
467
|
-
=================
|
468
|
-
|
469
|
-
fix merge order of params in new
|
470
|
-
|
471
|
-
0.19.3 03/01/2013
|
472
|
-
=================
|
473
|
-
|
474
|
-
properly raise errors when datum[:stack] has not yet been set
|
475
|
-
|
476
|
-
0.19.2 02/28/2013
|
477
|
-
=================
|
478
|
-
|
479
|
-
add client_cert, client_key to valid connection options
|
480
|
-
|
481
|
-
0.19.1 02/27/2013
|
482
|
-
=================
|
483
|
-
|
484
|
-
fix for ssl proxies to allow connect response to be read
|
485
|
-
|
486
|
-
0.19.0 02/27/2013
|
487
|
-
=================
|
488
|
-
|
489
|
-
fix requests (pipeline) example in README
|
490
|
-
make StubNotFound inherit from StandardError (not Excon::Errors::Error)
|
491
|
-
idempotent reimplemented as middleware
|
492
|
-
remaining idempotent/instrumentor functionality moved to middleware
|
493
|
-
move uri parsing to Excon.new
|
494
|
-
allow for configurable URI parser (ie Addressable vs URI)
|
495
|
-
move VALID_CONNECTION_KEYS to constants
|
496
|
-
move idempotent tests to middleware directory
|
497
|
-
fix output of expects middleware to pass response objects instead of hashes
|
498
|
-
|
499
|
-
0.18.5 02/22/2013
|
500
|
-
=================
|
501
|
-
|
502
|
-
add family to known keys
|
503
|
-
|
504
|
-
0.18.4 02/21/2013
|
505
|
-
=================
|
506
|
-
|
507
|
-
remove ssl proxy host_port usage
|
508
|
-
|
509
|
-
0.18.3 02/21/2013
|
510
|
-
=================
|
511
|
-
|
512
|
-
update response accessors to read from/write to @data
|
513
|
-
|
514
|
-
0.18.2 02/21/2013
|
515
|
-
=================
|
516
|
-
|
517
|
-
one shouldn't rush, fix typo in previous
|
518
|
-
|
519
|
-
0.18.1 02/21/2013
|
520
|
-
=================
|
521
|
-
|
522
|
-
fix for http errors when using mocks
|
523
|
-
|
524
|
-
0.18.0 02/21/2013
|
525
|
-
=================
|
526
|
-
|
527
|
-
more refactoring around middlewares
|
528
|
-
add pipelining capabilities
|
529
|
-
allow [] style access to response attributes
|
530
|
-
|
531
|
-
|
532
|
-
0.17.0 02/01/2013
|
533
|
-
=================
|
534
|
-
|
535
|
-
add patch method
|
536
|
-
allow passing family for addresses to params/proxy
|
537
|
-
more consistent empty header passing
|
538
|
-
nicer debug output
|
539
|
-
internal refactoring toward middleware pattern
|
540
|
-
|
541
|
-
0.16.10 11/16/2012
|
542
|
-
==================
|
543
|
-
|
544
|
-
set default request_params for stub
|
545
|
-
do not attempt to read body for CONNECT requests
|
546
|
-
|
547
|
-
0.16.9 11/16/2012
|
548
|
-
=================
|
549
|
-
|
550
|
-
readme cleanup/clarification around stubs
|
551
|
-
fix for reading response from ssl proxy
|
552
|
-
|
553
|
-
0.16.8 11/12/2012
|
554
|
-
=================
|
555
|
-
|
556
|
-
set file body pos to 0 at beginning of request
|
557
|
-
add eventmachine to dev dependencies for bad server tests
|
558
|
-
comment out benchmark deps for now
|
559
|
-
fix typo in readme
|
560
|
-
|
561
|
-
0.16.7 10/17/2012
|
562
|
-
=================
|
563
|
-
|
564
|
-
fix typo in host_port per-request patch
|
565
|
-
|
566
|
-
0.16.6 10/17/2012
|
567
|
-
=================
|
568
|
-
|
569
|
-
fix for host_port to recalculate on a per-request basis
|
570
|
-
|
571
|
-
0.16.5 10/17/2012
|
572
|
-
=================
|
573
|
-
|
574
|
-
Also retry Timeouts on idempotent requests
|
575
|
-
Excon.stub now breaks out user/pass from url if supplied
|
576
|
-
loosen ssl version requirement to allow negotiation
|
577
|
-
eof on read should return '' instead of nil
|
578
|
-
build host_port up front to avoid recalculating
|
579
|
-
set Proxy-Connection: Keep-Alive for https proxies
|
580
|
-
postpone https upgrade until after proxy connect
|
581
|
-
|
582
|
-
0.16.4 09/25/2012
|
583
|
-
=================
|
584
|
-
|
585
|
-
better behavior nonblock and use DEFAULT_NONBLOCK constant
|
586
|
-
update deprecation/warnings to use $stderr
|
587
|
-
consistency fixes for REDACT
|
588
|
-
add REDACT behavior to standard_instrumentor
|
589
|
-
|
590
|
-
0.16.3 09/20/2012
|
591
|
-
=================
|
592
|
-
|
593
|
-
remove overly paranoid const checking
|
594
|
-
change chunk_size to be a param for consistency
|
595
|
-
|
596
|
-
0.16.2 08/27/2012
|
597
|
-
=================
|
598
|
-
|
599
|
-
provide more helpful backtraces on connection requests
|
600
|
-
provide more helpful backtraces on one-off requests
|
601
|
-
rearrange class methods so params will pass to socket
|
602
|
-
integrate nonblock backwards compatability fix
|
603
|
-
rearrange excon.rb to initialize defaults sooner
|
604
|
-
set nonblock at init time for ssl socket
|
605
|
-
fixes around nonbleck to properly skip/warn if unavailable but selected
|
606
|
-
|
607
|
-
0.16.1 08/15/2012
|
608
|
-
=================
|
609
|
-
|
610
|
-
default to SSLv3 usage
|
611
|
-
|
612
|
-
0.16.0 08/14/2012
|
613
|
-
=================
|
614
|
-
|
615
|
-
add nonblock => false to use blocking requests with Timeout.timeout
|
616
|
-
update readme to describe nonblock and idempotent options
|
617
|
-
|
618
|
-
0.15.5 08/01/2012
|
619
|
-
=================
|
620
|
-
|
621
|
-
consolidate proxy handling
|
622
|
-
proxy settings should pull from connection instead of params (allows
|
623
|
-
Excon.defaults[:proxy])
|
624
|
-
properly raise connect timeout errors
|
625
|
-
change recommended standard instrumentor ENV to EXCON_DEBUG
|
626
|
-
remove readline nonblock protections (they didn't fix the windows issue)
|
627
|
-
don't swallow non-nonblock SSL exceptions
|
628
|
-
consistency fixes for ssl nonblock error handling
|
629
|
-
do SNI in ssl_socket setup
|
630
|
-
use Excon::Response#parse to read https proxy response
|
631
|
-
|
632
|
-
0.15.4 07/16/12
|
633
|
-
===============
|
634
|
-
|
635
|
-
rescue/retry nonblock errors from readline (even though they shouldn't occur)
|
636
|
-
|
637
|
-
0.15.3 07/16/12
|
638
|
-
===============
|
639
|
-
|
640
|
-
remove erroneous newline in proxy auth header
|
641
|
-
|
642
|
-
0.15.2 07/16/12
|
643
|
-
===============
|
644
|
-
|
645
|
-
fix capitalization of EXCON constant in auth stuff
|
646
|
-
properly handle nil user/password values in auth
|
647
|
-
various fixes to proxy and related tests
|
648
|
-
|
649
|
-
0.15.1 07/16/12
|
650
|
-
===============
|
651
|
-
|
652
|
-
fix for sending user/pass to proxy
|
653
|
-
|
654
|
-
0.15.0 07/16/12
|
655
|
-
===============
|
656
|
-
|
657
|
-
clarifications in README
|
658
|
-
added base error class to message for Excon::SocketError
|
659
|
-
fixes for proxy, sets properly on http and passes auth
|
660
|
-
|
661
|
-
0.14.3 07/05/12
|
662
|
-
===============
|
663
|
-
|
664
|
-
remove a redundant setter in response streamer
|
665
|
-
standardize on each (instead of for) to iterate enumerables
|
666
|
-
|
667
|
-
0.14.2 06/26/12
|
668
|
-
===============
|
669
|
-
|
670
|
-
fix invoke_stub to convert files into strings before comparing
|
671
|
-
|
672
|
-
0.14.1 06/19/12
|
673
|
-
===============
|
674
|
-
|
675
|
-
accept port as a separate option
|
676
|
-
ensure first read from socket is nonblock (fixes read_timeouts)
|
677
|
-
respect upper case env vars
|
678
|
-
|
679
|
-
0.14.0 05/31/12
|
680
|
-
===============
|
681
|
-
|
682
|
-
make stubs LIFO for ease of use/understanding, updated README to explain
|
683
|
-
simplify https proxy logic
|
684
|
-
add instrumentation for responses
|
685
|
-
add StandardInstrumentor (events got to stderr)
|
686
|
-
EXCON_STANDARD_INSTRUMENTOR=true sets StandardInstrumentor as default
|
687
|
-
|
688
|
-
0.13.3 04/05/12
|
689
|
-
===============
|
690
|
-
|
691
|
-
* fix for file size calculation in 1.8.7
|
692
|
-
|
693
|
-
0.13.3 04/05/12
|
694
|
-
===============
|
695
|
-
|
696
|
-
* fixes for file like objects which do not respond to binmode
|
697
|
-
|
698
|
-
0.13.2 03/26/12
|
699
|
-
===============
|
700
|
-
|
701
|
-
* fix to avoid issues when Tempfile is not required/defined. Thanks nextmat
|
702
|
-
|
703
|
-
0.13.1 03/26/12
|
704
|
-
===============
|
705
|
-
|
706
|
-
* fix to allow for passing Tempfile objects as body. Thanks rkyrychuk
|
707
|
-
|
708
|
-
0.13.0 03/22/12
|
709
|
-
===============
|
710
|
-
|
711
|
-
* workaround for jruby (use blocking read/write for ssl sockets)
|
712
|
-
|
713
|
-
0.12.0 03/18/12
|
714
|
-
===============
|
715
|
-
|
716
|
-
* use params to set ssl (so each connection could differ)
|
717
|
-
* bundle a default cert
|
718
|
-
|
719
|
-
0.11.0 03/15/12
|
720
|
-
===============
|
721
|
-
|
722
|
-
* add request_block to support chunked requests
|
723
|
-
* deprecate implicit block in favor of explicit response_block
|
724
|
-
* loosen activesupport and jruby-openssl development dependencies
|
725
|
-
|
726
|
-
0.10.1 03/13/12
|
727
|
-
===============
|
728
|
-
|
729
|
-
* avoid calling empty? on file body
|
730
|
-
|
731
|
-
0.10.0 03/01/12
|
732
|
-
===============
|
733
|
-
|
734
|
-
* avoid setting/passing Content-Length headers for GET requests with no body
|
735
|
-
* remove rcov from tasks/bundle in development
|
736
|
-
* automatically parse and use basic auth when passed as part of a uri
|
737
|
-
* fix for erroneous recursion in Excon.defaults=
|
738
|
-
|
739
|
-
0.9.6 02/22/12
|
740
|
-
==============
|
741
|
-
|
742
|
-
* add support for setting ca_file. Thanks mattmatt!
|
743
|
-
* add docs for Excon.stubs.clear and expects. Thanks masterkain!
|
744
|
-
* add class level defaults
|
745
|
-
* fix ruby warnings. Thanks foca!
|
746
|
-
* improve instrumentation docs. Thanks mkb!
|
747
|
-
* fix for empty body and SSL sockets. Thanks pweldon!
|
748
|
-
|
749
|
-
0.9.5 01/16/12
|
750
|
-
==============
|
751
|
-
|
752
|
-
* fix getaddrinfo usage for rbx
|
753
|
-
* fix mock handling when a block in passed
|
754
|
-
* add jruby to ci
|
755
|
-
|
756
|
-
0.9.4 12/21/11
|
757
|
-
==============
|
758
|
-
|
759
|
-
* fix for regexp/capture setting
|
760
|
-
|
761
|
-
0.9.3 12/21/11
|
762
|
-
==============
|
763
|
-
|
764
|
-
* fix CONSTANTS referenced in SSL_Socket
|
765
|
-
* fix default value for proxy in SSL_Socket
|
766
|
-
* fix non-regexp header matching
|
767
|
-
* return captures from regexp based params
|
768
|
-
|
769
|
-
0.9.2 12/16/11
|
770
|
-
==============
|
771
|
-
|
772
|
-
* update mocks to allow for regex based matching
|
773
|
-
* fixes for write_nonblock+OpenSSL weirdness
|
774
|
-
|
775
|
-
0.9.1 12/15/11
|
776
|
-
==============
|
777
|
-
|
778
|
-
* update mock usage to be at the connection/request level
|
779
|
-
|
780
|
-
0.9.0 12/14/11
|
781
|
-
==============
|
782
|
-
|
783
|
-
* add ability to do instrumentation
|
784
|
-
* misc cleanup
|
785
|
-
* deprecate retry_limit accessor in favor of passing as a param
|
786
|
-
|
787
|
-
0.8.0 12/12/11
|
788
|
-
==============
|
789
|
-
|
790
|
-
* move mock handler to its own method
|
791
|
-
* better handling around openssl errors
|
792
|
-
* simplify writing by removing buffer
|
793
|
-
|
794
|
-
0.7.12 12/04/11
|
795
|
-
===============
|
796
|
-
|
797
|
-
* revert: explicitly close files after writing
|
798
|
-
|
799
|
-
0.7.11 12/24/11
|
800
|
-
==============
|
801
|
-
|
802
|
-
* rebuild gem broken gemspec with 1.8.x
|
803
|
-
|
804
|
-
0.7.10 12/04/11
|
805
|
-
===============
|
806
|
-
|
807
|
-
* explicitly close files after writing
|
808
|
-
|
809
|
-
0.7.9 11/30/11
|
810
|
-
==============
|
811
|
-
|
812
|
-
* add ability to modify retry limit
|
813
|
-
* use addrinfo to avoid localhost and other IPv6 issues
|
814
|
-
* update gemspec authors to add Dan Peterson and Matt Sanders
|
815
|
-
|
816
|
-
0.7.8 11/24/11
|
817
|
-
==============
|
818
|
-
|
819
|
-
* rebuild gem broken gemspec with 1.8.x
|
820
|
-
|
821
|
-
0.7.7 11/24/11
|
822
|
-
==============
|
823
|
-
|
824
|
-
* setup for travis ci automated testing
|
825
|
-
* fix EOFError
|
826
|
-
* use Socket.getaddrinfo to fix IPv6 issues
|
827
|
-
|
828
|
-
0.7.6 10/04/11
|
829
|
-
==============
|
830
|
-
|
831
|
-
* fixes to provide for using openssl-nonblock for 1.8.x
|
832
|
-
* correctly pass per-request settings to socket
|
833
|
-
* fix for nonblocking stuff when waiting for socket close
|
834
|
-
* use 127.0.0.1 instead of localhost in tests (fixes some errors)
|
835
|
-
|
836
|
-
0.7.5 10/03/11
|
837
|
-
==============
|
838
|
-
|
839
|
-
* convert port to integer in sockaddr_in (jruby won't convert for you)
|
840
|
-
|
841
|
-
0.7.4 09/30/11
|
842
|
-
==============
|
843
|
-
|
844
|
-
* rescue write would block from openssl
|
845
|
-
|
846
|
-
0.7.3 09/27/11
|
847
|
-
==============
|
848
|
-
|
849
|
-
* fix nonblocking read to avoid reading past chunk in chunked encoded
|
850
|
-
* rescue read would block from openssl
|
851
|
-
|
852
|
-
0.7.2 09/24/11
|
853
|
-
==============
|
854
|
-
|
855
|
-
* fix buffer drain for socket#write. thanks dpiddy
|
856
|
-
* rescue/retry timeout errors for idempotent requests. thanks dpiddy
|
857
|
-
* timeouts should raise an excon specific error
|
858
|
-
|
859
|
-
0.7.1 09/13/11
|
860
|
-
==============
|
861
|
-
|
862
|
-
* use nonblocking only when available (skip for 1.8.x SSL)
|
863
|
-
|
864
|
-
0.7.0 09/12/11
|
865
|
-
==============
|
866
|
-
|
867
|
-
* change connects and most read/writes to use nonblocking methods
|
868
|
-
* provide connect/read/write timeouts
|
869
|
-
|
870
|
-
0.6.6 09/06/11
|
871
|
-
==============
|
872
|
-
|
873
|
-
* cleanup/refactoring. thanks nextmat
|
874
|
-
* default to connection close as request delimiter
|
875
|
-
|
876
|
-
0.6.5 07/13/11
|
877
|
-
==============
|
878
|
-
|
879
|
-
* properly stream responses with proc
|
880
|
-
* fix mock with block to match real requests
|
881
|
-
|
882
|
-
0.6.4 07/05/11
|
883
|
-
==============
|
884
|
-
|
885
|
-
* add block support to mocks. thanks dmeiz
|
886
|
-
* fixes for stub matching. thanks dmeiz
|
887
|
-
* don't do post_connection_check if verify mode is off
|
888
|
-
* check excon state for verify mode instead of checking OpenSSL constants
|
889
|
-
* use RbConfig to find OS. thanks trym
|
890
|
-
* fixes for idempotent/retry. thanks lstoll
|
891
|
-
|
892
|
-
0.6.3 05/02/11
|
893
|
-
==============
|
894
|
-
|
895
|
-
* fixes for header parsing to allow whitespace after :. thanks myronmarston
|
896
|
-
* get_header optimization. thanks nextmat
|
897
|
-
* rewind body on retry. thanks pweldon
|
898
|
-
|
899
|
-
0.6.2 04/11/11
|
900
|
-
==============
|
901
|
-
|
902
|
-
* fix block arguments for connection close. thanks ggoodale
|
903
|
-
|
904
|
-
0.6.1 04/05/11
|
905
|
-
==============
|
906
|
-
|
907
|
-
* add support for HTTPS proxies. thanks mrowe
|
908
|
-
* add support for http_proxy and https_proxy ENV variables. thanks mrowe
|
909
|
-
* fix progress for requests with blocks that are chunked or connection close
|
910
|
-
|
911
|
-
0.6.0 03/30/11
|
912
|
-
==============
|
913
|
-
|
914
|
-
* basic support for using proxies. thanks mattsa
|
915
|
-
* yield remaining/total bytes to streaming block. thanks nate
|
916
|
-
* minor optimizations/cleanup
|
917
|
-
|
918
|
-
0.5.8 03/24/11
|
919
|
-
==============
|
920
|
-
|
921
|
-
* fix regression where nil values in queries were ignored in 1.9. thanks mattsa
|
922
|
-
* fix regression causing EOFError when making many connections in one thread
|
923
|
-
* added tests to prevent both of the former from recurring
|
924
|
-
|
925
|
-
0.5.7 03/21/11
|
926
|
-
==============
|
927
|
-
|
928
|
-
* lazily connect, rather than connecting at #initialize
|
929
|
-
* add rough first pass at stubbing
|
930
|
-
* minor optimizations
|
931
|
-
* ssl client certification support. thanks thommay
|
932
|
-
* skip figuring out/setting Content-Length if one is supplied. Thanks pweldon
|
933
|
-
* do not try to parse body for 205 and 304. Thanks seancribbs
|
934
|
-
|
935
|
-
0.5.6 02/19/11
|
936
|
-
==============
|
937
|
-
|
938
|
-
* only split headers by first ':' to allow for values with ':'. Thanks mtodd!
|
939
|
-
* check a string instance for force_encoding, not class. Thanks seancribbs!
|
940
|
-
* add benchmarks related to for vs each for enumerable. Thanks caius!
|
941
|
-
* fix default rake task to run tests
|
942
|
-
|
943
|
-
0.5.5 02/18/11
|
944
|
-
==============
|
945
|
-
|
946
|
-
* use local variables in response parsing, prevents keeping state across requests
|
947
|
-
|
948
|
-
0.5.4 02/18/11
|
949
|
-
==============
|
950
|
-
|
951
|
-
* 204 should not attempt to parse body
|
952
|
-
|
953
|
-
|
954
|
-
0.5.3 02/17/11
|
955
|
-
==============
|
956
|
-
|
957
|
-
* header comparison for responses is now case insensitive
|
958
|
-
* change to allow :idempotent => false to operate correctly
|
959
|
-
* misc cleanup
|