excon 0.64.0 → 0.65.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of excon might be problematic. Click here for more details.

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