excon 0.49.0 → 0.88.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTORS.md +33 -3
  3. data/LICENSE.md +1 -1
  4. data/README.md +77 -7
  5. data/data/cacert.pem +1279 -1940
  6. data/excon.gemspec +32 -170
  7. data/lib/excon/connection.rb +257 -154
  8. data/lib/excon/constants.rb +44 -16
  9. data/lib/excon/error.rb +229 -0
  10. data/lib/excon/extensions/uri.rb +1 -0
  11. data/lib/excon/headers.rb +5 -3
  12. data/lib/excon/instrumentors/logging_instrumentor.rb +48 -0
  13. data/lib/excon/instrumentors/standard_instrumentor.rb +21 -0
  14. data/lib/excon/middlewares/base.rb +7 -0
  15. data/lib/excon/middlewares/capture_cookies.rb +2 -1
  16. data/lib/excon/middlewares/decompress.rb +3 -2
  17. data/lib/excon/middlewares/escape_path.rb +1 -0
  18. data/lib/excon/middlewares/expects.rb +8 -1
  19. data/lib/excon/middlewares/idempotent.rb +27 -3
  20. data/lib/excon/middlewares/instrumentor.rb +9 -0
  21. data/lib/excon/middlewares/mock.rb +14 -4
  22. data/lib/excon/middlewares/redirect_follower.rb +28 -4
  23. data/lib/excon/middlewares/response_parser.rb +4 -0
  24. data/lib/excon/pretty_printer.rb +2 -8
  25. data/lib/excon/response.rb +16 -12
  26. data/lib/excon/socket.rb +56 -36
  27. data/lib/excon/ssl_socket.rb +70 -25
  28. data/lib/excon/test/plugin/server/exec.rb +26 -0
  29. data/lib/excon/test/plugin/server/puma.rb +23 -0
  30. data/lib/excon/test/plugin/server/unicorn.rb +38 -0
  31. data/lib/excon/test/plugin/server/webrick.rb +26 -0
  32. data/lib/excon/test/server.rb +106 -0
  33. data/lib/excon/unix_socket.rb +2 -0
  34. data/lib/excon/utils.rb +65 -10
  35. data/lib/excon/version.rb +4 -0
  36. data/lib/excon.rb +35 -20
  37. metadata +69 -87
  38. data/Gemfile +0 -19
  39. data/Gemfile.lock +0 -285
  40. data/Rakefile +0 -144
  41. data/benchmarks/class_vs_lambda.rb +0 -50
  42. data/benchmarks/concat_vs_insert.rb +0 -21
  43. data/benchmarks/concat_vs_interpolate.rb +0 -21
  44. data/benchmarks/cr_lf.rb +0 -21
  45. data/benchmarks/downcase-eq-eq_vs_casecmp.rb +0 -169
  46. data/benchmarks/excon.rb +0 -69
  47. data/benchmarks/excon_vs.rb +0 -165
  48. data/benchmarks/for_vs_array_each.rb +0 -27
  49. data/benchmarks/for_vs_hash_each.rb +0 -27
  50. data/benchmarks/has_key-vs-lookup.rb +0 -177
  51. data/benchmarks/headers_case_sensitivity.rb +0 -83
  52. data/benchmarks/headers_split_vs_match.rb +0 -34
  53. data/benchmarks/implicit_block-vs-explicit_block.rb +0 -98
  54. data/benchmarks/merging.rb +0 -21
  55. data/benchmarks/single_vs_double_quotes.rb +0 -21
  56. data/benchmarks/string_ranged_index.rb +0 -87
  57. data/benchmarks/strip_newline.rb +0 -115
  58. data/benchmarks/vs_stdlib.rb +0 -82
  59. data/changelog.txt +0 -959
  60. data/lib/excon/errors.rb +0 -172
  61. data/lib/excon/standard_instrumentor.rb +0 -27
  62. data/tests/authorization_header_tests.rb +0 -33
  63. data/tests/bad_tests.rb +0 -47
  64. data/tests/basic_tests.rb +0 -334
  65. data/tests/complete_responses.rb +0 -31
  66. data/tests/data/127.0.0.1.cert.crt +0 -14
  67. data/tests/data/127.0.0.1.cert.key +0 -15
  68. data/tests/data/excon.cert.crt +0 -14
  69. data/tests/data/excon.cert.key +0 -15
  70. data/tests/data/xs +0 -1
  71. data/tests/errors_tests.rb +0 -58
  72. data/tests/header_tests.rb +0 -119
  73. data/tests/middlewares/canned_response_tests.rb +0 -34
  74. data/tests/middlewares/capture_cookies_tests.rb +0 -34
  75. data/tests/middlewares/decompress_tests.rb +0 -157
  76. data/tests/middlewares/escape_path_tests.rb +0 -36
  77. data/tests/middlewares/idempotent_tests.rb +0 -131
  78. data/tests/middlewares/instrumentation_tests.rb +0 -312
  79. data/tests/middlewares/mock_tests.rb +0 -293
  80. data/tests/middlewares/redirect_follower_tests.rb +0 -80
  81. data/tests/pipeline_tests.rb +0 -40
  82. data/tests/proxy_tests.rb +0 -306
  83. data/tests/query_string_tests.rb +0 -87
  84. data/tests/rackups/basic.rb +0 -41
  85. data/tests/rackups/basic.ru +0 -3
  86. data/tests/rackups/basic_auth.ru +0 -14
  87. data/tests/rackups/deflater.ru +0 -4
  88. data/tests/rackups/proxy.ru +0 -18
  89. data/tests/rackups/query_string.ru +0 -13
  90. data/tests/rackups/redirecting.ru +0 -23
  91. data/tests/rackups/redirecting_with_cookie.ru +0 -40
  92. data/tests/rackups/request_headers.ru +0 -15
  93. data/tests/rackups/request_methods.ru +0 -21
  94. data/tests/rackups/response_header.ru +0 -18
  95. data/tests/rackups/ssl.ru +0 -16
  96. data/tests/rackups/ssl_mismatched_cn.ru +0 -15
  97. data/tests/rackups/ssl_verify_peer.ru +0 -16
  98. data/tests/rackups/streaming.ru +0 -30
  99. data/tests/rackups/thread_safety.ru +0 -17
  100. data/tests/rackups/timeout.ru +0 -14
  101. data/tests/rackups/webrick_patch.rb +0 -34
  102. data/tests/request_headers_tests.rb +0 -21
  103. data/tests/request_method_tests.rb +0 -47
  104. data/tests/request_tests.rb +0 -59
  105. data/tests/response_tests.rb +0 -197
  106. data/tests/servers/bad.rb +0 -20
  107. data/tests/servers/eof.rb +0 -17
  108. data/tests/servers/error.rb +0 -20
  109. data/tests/servers/good.rb +0 -350
  110. data/tests/test_helper.rb +0 -306
  111. data/tests/thread_safety_tests.rb +0 -39
  112. data/tests/timeout_tests.rb +0 -12
  113. 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