excon 0.92.3 → 0.92.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +72 -51
  3. data/data/cacert.pem +139 -26
  4. data/lib/excon/version.rb +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e1d2543cfa4fed3d32e2715d1720e9c2cfbf7896aab7840bca1cad7244ff64e
4
- data.tar.gz: 28d34d55b2c1f35aaf82e60364f1524d8d787ff354beaa2ca1ba20c1619c2a1d
3
+ metadata.gz: a34074d556423d449fa23f52efaa7f5819f44f030df55a2cdcb59b8abc759965
4
+ data.tar.gz: d45df688f3f126ed199d9cd16616f4c29a0da2e2d6fbe4b1df85fb442ad35778
5
5
  SHA512:
6
- metadata.gz: 720b76b1ce0b7bc046f6496bcf2e6c0427bbfd8b91026ab694ed321d2e76fc6f34d0f16ee2a63578b03e524535fb783ed6b2e63e15487b3995eb919d6e6e3afe
7
- data.tar.gz: e8841ed36289b733b4b879cb3b122fcd39617843e384eda88d06eb215ba86e39bcb8e1080b19c84ac8d981c7b4421701b07b0c9a64e2333760c1328d9e3734b0
6
+ metadata.gz: e59218361989a91d474eb8b6076f6c3928000f77cbffabcb0f155bc41f7033a25f5606af7325c2cf63c61f0fdfe6175a84470f2e03caeb210e05ef0dc76b7bf3
7
+ data.tar.gz: a3c6c90892e9a329f9bfa4a76826c6c69f0f2945073e44a01bb348eb168ba0052c3078a2ac4e67e39158cb62c13b9d981b3af75ca147261a97af772e9c7beb82
data/README.md CHANGED
@@ -7,22 +7,22 @@ Excon was designed to be simple, fast and performant. It works great as a genera
7
7
  [![Build Status](https://github.com/excon/excon/actions/workflows/ruby.yml/badge.svg)](https://github.com/excon/excon/actions/workflows/ruby.yml)
8
8
  [![Gem Version](https://badge.fury.io/rb/excon.svg)](https://badge.fury.io/rb/excon)
9
9
 
10
- * [Getting Started](#getting-started)
11
- * [Options](#options)
12
- * [Chunked Requests](#chunked-requests)
13
- * [Pipelining Requests](#pipelining-requests)
14
- * [Streaming Responses](#streaming-responses)
15
- * [Proxy Support](#proxy-support)
16
- * [Reusable ports](#reusable-ports)
17
- * [Unix Socket Support](#unix-socket-support)
18
- * [Stubs](#stubs)
19
- * [Instrumentation](#instrumentation)
20
- * [HTTPS client certificate](#https-client-certificate)
21
- * [HTTPS/SSL Issues](#httpsssl-issues)
22
- * [Getting Help](#getting-help)
23
- * [Contributing](#contributing)
24
- * [Plugins and Middlewares](#plugins-and-middlewares)
25
- * [License](#license)
10
+ - [Getting Started](#getting-started)
11
+ - [Options](#options)
12
+ - [Chunked Requests](#chunked-requests)
13
+ - [Pipelining Requests](#pipelining-requests)
14
+ - [Streaming Responses](#streaming-responses)
15
+ - [Proxy Support](#proxy-support)
16
+ - [Reusable ports](#reusable-ports)
17
+ - [Unix Socket Support](#unix-socket-support)
18
+ - [Stubs](#stubs)
19
+ - [Instrumentation](#instrumentation)
20
+ - [HTTPS client certificate](#https-client-certificate)
21
+ - [HTTPS/SSL Issues](#httpsssl-issues)
22
+ - [Getting Help](#getting-help)
23
+ - [Contributing](#contributing)
24
+ - [Plugins and Middlewares](#plugins-and-middlewares)
25
+ - [License](#license)
26
26
 
27
27
  ## Getting Started
28
28
 
@@ -92,7 +92,6 @@ connection.get # socket reused
92
92
  Note that sending a request with `:persistent => false` to close the socket will also send `Connection: close` to inform
93
93
  the server the connection is no longer needed. `Connection#reset` will simply close our end of the socket.
94
94
 
95
-
96
95
  ## Options
97
96
 
98
97
  Both one-off and persistent connections support many other options. The final options for a request are built up by starting with `Excon.defaults`, then merging in options from the connection and finally merging in any request options. In this way you have plenty of options on where and how to set options and can easily setup connections or defaults to match common options for a particular endpoint.
@@ -128,6 +127,38 @@ connection.request(:method => 'GET')
128
127
  # expect one or more status codes, or raise an error
129
128
  connection.request(:expects => [200, 201], :method => :get)
130
129
 
130
+ # use basic authentication by supplying credentials in the URL or as parameters
131
+ connection = Excon.new('http://username:password@secure.geemus.com')
132
+ # Note: username & password is unescaped for request, so you should provide escaped values here
133
+ # i. e. instead of `password: 'pa%%word'` you should use `password: Excon::Utils.escape_uri('pa%%word')`,
134
+ # which return `pa%25%25word`
135
+ connection = Excon.new('http://secure.geemus.com',
136
+ :user => 'username', :password => 'password')
137
+
138
+ # use custom uri parser
139
+ require 'addressable/uri'
140
+ connection = Excon.new('http://geemus.com/', uri_parser: Addressable::URI)
141
+ ```
142
+
143
+ Compared to web browsers and other http client libraries, e.g. curl, Excon is a bit more low-level and doesn't assume much by default. If you are seeing different results compared to other clients, the following options might help:
144
+
145
+ ```ruby
146
+ # opt-in to omitting port from http:80 and https:443
147
+ connection = Excon.new('http://geemus.com/', :omit_default_port => true)
148
+
149
+ # accept gzip encoding
150
+ connection = Excon.new('http://geemus.com/', :headers => { "Accept-Encoding" => "gzip" })
151
+
152
+ # turn off peer verification (less secure)
153
+ Excon.defaults[:ssl_verify_peer] = false
154
+ connection = Excon.new('https://...')
155
+ ```
156
+
157
+ ## Timeouts and Retries
158
+
159
+ You can modify timeouts and define whether and how many (blocking) retries Excon should attempt if errors occur.
160
+
161
+ ```ruby
131
162
  # this request can be repeated safely, so retry on errors up to 4 times
132
163
  connection.request(:idempotent => true)
133
164
 
@@ -138,6 +169,10 @@ connection.request(:idempotent => true, :retry_limit => 6)
138
169
  # in between each retry
139
170
  connection.request(:idempotent => true, :retry_limit => 6, :retry_interval => 5)
140
171
 
172
+ # specify the errors on which to retry (default Timeout, Socket, HTTPStatus)
173
+ # only retry on timeouts
174
+ connection.request(:idempotent => true, :retry_limit => 6, :retry_interval => 5, :retry_errors => [Excon::Error::Timeout] )
175
+
141
176
  # set longer read_timeout (default is 60 seconds)
142
177
  connection.request(:read_timeout => 360)
143
178
 
@@ -156,32 +191,6 @@ connection = Excon.new('http://geemus.com/', :connect_timeout => 360)
156
191
 
157
192
  # opt-out of nonblocking operations for performance and/or as a workaround
158
193
  connection = Excon.new('http://geemus.com/', :nonblock => false)
159
-
160
- # use basic authentication by supplying credentials in the URL or as parameters
161
- connection = Excon.new('http://username:password@secure.geemus.com')
162
- # Note: username & password is unescaped for request, so you should provide escaped values here
163
- # i. e. instead of `password: 'pa%%word'` you should use `password: Excon::Utils.escape_uri('pa%%word')`,
164
- # which return `pa%25%25word`
165
- connection = Excon.new('http://secure.geemus.com',
166
- :user => 'username', :password => 'password')
167
-
168
- # use custom uri parser
169
- require 'addressable/uri'
170
- connection = Excon.new('http://geemus.com/', uri_parser: Addressable::URI)
171
- ```
172
-
173
- Compared to web browsers and other http client libraries, e.g. curl, Excon is a bit more low-level and doesn't assume much by default. If you are seeing different results compared to other clients, the following options might help:
174
-
175
- ```ruby
176
- # opt-in to omitting port from http:80 and https:443
177
- connection = Excon.new('http://geemus.com/', :omit_default_port => true)
178
-
179
- # accept gzip encoding
180
- connection = Excon.new('http://geemus.com/', :headers => { "Accept-Encoding" => "gzip" })
181
-
182
- # turn off peer verification (less secure)
183
- Excon.defaults[:ssl_verify_peer] = false
184
- connection = Excon.new('https://...')
185
194
  ```
186
195
 
187
196
  ## Chunked Requests
@@ -277,7 +286,7 @@ s.close
277
286
 
278
287
  ## Unix Socket Support
279
288
 
280
- The Unix socket will work for one-off requests and multiuse connections. A Unix socket path must be provided separate from the resource path.
289
+ The Unix socket will work for one-off requests and multiuse connections. A Unix socket path must be provided separate from the resource path.
281
290
 
282
291
  ```ruby
283
292
  connection = Excon.new('unix:///', :socket => '/tmp/unicorn.sock')
@@ -309,7 +318,19 @@ Excon.stub({}, {:body => 'body', :status => 200})
309
318
  Excon.stub({}, lambda {|request_params| {:body => request_params[:body], :status => 200}})
310
319
  ```
311
320
 
312
- Omitted attributes are assumed to match, so this stub will match *any* request and return an Excon::Response with a body of 'body' and status of 200. You can add whatever stubs you might like this way and they will be checked against in the order they were added, if none of them match then excon will raise an `Excon::Errors::StubNotFound` error to let you know.
321
+ Omitted attributes are assumed to match, so this stub will match _any_ request and return an Excon::Response with a body of 'body' and status of 200.
322
+
323
+ ```ruby
324
+ Excon.stub({ :scheme => 'https', :host => 'example.com', :path => /\/examples\/\d+/, :port => 443 }, { body: 'body', status: 200 })
325
+ ```
326
+
327
+ The above code will stub this:
328
+
329
+ ```ruby
330
+ Excon.get('https://example.com/examples/123', mock: true)
331
+ ```
332
+
333
+ You can add whatever stubs you might like this way and they will be checked against in the order they were added, if none of them match then excon will raise an `Excon::Errors::StubNotFound` error to let you know.
313
334
 
314
335
  If you want to allow unstubbed requests without raising `StubNotFound`, set the `allow_unstubbed_requests` option either globally or per request.
315
336
 
@@ -356,7 +377,7 @@ connection = Excon.new(
356
377
  )
357
378
  ```
358
379
 
359
- Excon will then instrument each request, retry, and error. The corresponding events are named `excon.request`, `excon.retry`, and `excon.error` respectively.
380
+ Excon will then instrument each request, retry, and error. The corresponding events are named `excon.request`, `excon.retry`, and `excon.error` respectively.
360
381
 
361
382
  ```ruby
362
383
  ActiveSupport::Notifications.subscribe(/excon/) do |*args|
@@ -410,7 +431,7 @@ The #instrument method will be called for each HTTP request, response, retry, an
410
431
 
411
432
  For debugging purposes you can also use `Excon::StandardInstrumentor` to output all events to stderr. This can also be specified by setting the `EXCON_DEBUG` ENV var.
412
433
 
413
- See [the documentation for ActiveSupport::Notifications](http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html) for more detail on using the subscription interface. See excon's [instrumentation_test.rb](https://github.com/excon/excon/blob/master/tests/middlewares/instrumentation_tests.rb) for more examples of instrumenting excon.
434
+ See [the documentation for ActiveSupport::Notifications](http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html) for more detail on using the subscription interface. See excon's [instrumentation_test.rb](https://github.com/excon/excon/blob/master/tests/middlewares/instrumentation_tests.rb) for more examples of instrumenting excon.
414
435
 
415
436
  ## HTTPS client certificate
416
437
 
@@ -459,8 +480,8 @@ Either of these should allow you to work around the socket error and continue wi
459
480
 
460
481
  ## Getting Help
461
482
 
462
- * Ask specific questions on [Stack Overflow](http://stackoverflow.com/questions/tagged/excon).
463
- * Report bugs and discuss potential features in [Github issues](https://github.com/excon/excon/issues).
483
+ - Ask specific questions on [Stack Overflow](http://stackoverflow.com/questions/tagged/excon).
484
+ - Report bugs and discuss potential features in [Github issues](https://github.com/excon/excon/issues).
464
485
 
465
486
  ## Contributing
466
487
 
@@ -472,12 +493,12 @@ Using Excon's [Middleware system][middleware], you can easily extend Excon's
472
493
  functionality with your own. The following plugins extend Excon in their own
473
494
  way:
474
495
 
475
- * [excon-addressable](https://github.com/JeanMertz/excon-addressable)
496
+ - [excon-addressable](https://github.com/JeanMertz/excon-addressable)
476
497
 
477
498
  Set [addressable](https://github.com/sporkmonger/addressable) as the default
478
499
  URI parser, and add support for [URI templating][templating].
479
500
 
480
- * [excon-hypermedia](https://github.com/JeanMertz/excon-hypermedia)
501
+ - [excon-hypermedia](https://github.com/JeanMertz/excon-hypermedia)
481
502
 
482
503
  Teaches Excon to talk with [HyperMedia APIs][hypermedia]. Allowing you to use
483
504
  all of Excon's functionality, while traversing APIs in an easy and
data/data/cacert.pem CHANGED
@@ -1,7 +1,7 @@
1
1
  ##
2
2
  ## Bundle of CA Root Certificates
3
3
  ##
4
- ## Certificate data from Mozilla as of: Tue Apr 26 03:12:05 2022 GMT
4
+ ## Certificate data from Mozilla as of: Tue Jul 19 03:12:06 2022 GMT
5
5
  ##
6
6
  ## This is a bundle of X.509 certificates of public Certificate Authorities
7
7
  ## (CA). These were automatically extracted from Mozilla's root certificates
@@ -14,7 +14,7 @@
14
14
  ## Just configure this file as the SSLCACertificateFile.
15
15
  ##
16
16
  ## Conversion done with mk-ca-bundle.pl version 1.29.
17
- ## SHA256: 34a54d5191775c1bd37be6cfd3f09e831e072555dc3a2e51f4a2c4b0f8ada5cc
17
+ ## SHA256: 9bf3799611fb58197f61d45e71ce3dc19f30e7dd73731915872ce5108a7bb066
18
18
  ##
19
19
 
20
20
 
@@ -993,30 +993,6 @@ tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
993
993
  mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
994
994
  -----END CERTIFICATE-----
995
995
 
996
- Hellenic Academic and Research Institutions RootCA 2011
997
- =======================================================
998
- -----BEGIN CERTIFICATE-----
999
- MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
1000
- O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
1001
- aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
1002
- IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
1003
- AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
1004
- IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
1005
- IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
1006
- AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
1007
- 1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
1008
- 71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
1009
- 8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
1010
- 3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
1011
- MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
1012
- MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
1013
- b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
1014
- XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
1015
- TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
1016
- /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
1017
- 7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
1018
- -----END CERTIFICATE-----
1019
-
1020
996
  Actalis Authentication Root CA
1021
997
  ==============================
1022
998
  -----BEGIN CERTIFICATE-----
@@ -3345,3 +3321,140 @@ PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD
3345
3321
  AwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CAy/m0sRtW9XLS/BnR
3346
3322
  AjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJbgfM0agPnIjhQW+0ZT0MW
3347
3323
  -----END CERTIFICATE-----
3324
+
3325
+ DigiCert TLS ECC P384 Root G5
3326
+ =============================
3327
+ -----BEGIN CERTIFICATE-----
3328
+ MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQswCQYDVQQGEwJV
3329
+ UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURpZ2lDZXJ0IFRMUyBFQ0MgUDM4
3330
+ NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMx
3331
+ FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQg
3332
+ Um9vdCBHNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1Tzvd
3333
+ lHJS7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp0zVozptj
3334
+ n4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICISB4CIfBFqMA4GA1UdDwEB
3335
+ /wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQCJao1H5+z8blUD2Wds
3336
+ Jk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQLgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIx
3337
+ AJSdYsiJvRmEFOml+wG4DXZDjC5Ty3zfDBeWUA==
3338
+ -----END CERTIFICATE-----
3339
+
3340
+ DigiCert TLS RSA4096 Root G5
3341
+ ============================
3342
+ -----BEGIN CERTIFICATE-----
3343
+ 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
3367
+ bEtoL8pU9ozaMv7Da4M/OMZ+
3368
+ -----END CERTIFICATE-----
3369
+
3370
+ Certainly Root R1
3371
+ =================
3372
+ -----BEGIN CERTIFICATE-----
3373
+ MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAwPTELMAkGA1UE
3374
+ BhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2VydGFpbmx5IFJvb3QgUjEwHhcN
3375
+ MjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2Vy
3376
+ dGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
3377
+ ADCCAgoCggIBANA21B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O
3378
+ 5MQTvqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbedaFySpvXl
3379
+ 8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b01C7jcvk2xusVtyWMOvwl
3380
+ DbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGI
3381
+ XsXwClTNSaa/ApzSRKft43jvRl5tcdF5cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkN
3382
+ KPl6I7ENPT2a/Z2B7yyQwHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQ
3383
+ AjeZjOVJ6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA2Cnb
3384
+ rlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyHWyf5QBGenDPBt+U1
3385
+ VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMReiFPCyEQtkA6qyI6BJyLm4SGcprS
3386
+ p6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
3387
+ DgQWBBTgqj8ljZ9EXME66C6ud0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAsz
3388
+ HQNTVfSVcOQrPbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d
3389
+ 8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi1wrykXprOQ4v
3390
+ MMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrdrRT90+7iIgXr0PK3aBLXWopB
3391
+ GsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9ditaY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+
3392
+ gjwN/KUD+nsa2UUeYNrEjvn8K8l7lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgH
3393
+ JBu6haEaBQmAupVjyTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7
3394
+ fpYnKx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLyyCwzk5Iw
3395
+ x06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5nwXARPbv0+Em34yaXOp/S
3396
+ X3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6OV+KmalBWQewLK8=
3397
+ -----END CERTIFICATE-----
3398
+
3399
+ Certainly Root E1
3400
+ =================
3401
+ -----BEGIN CERTIFICATE-----
3402
+ MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQswCQYDVQQGEwJV
3403
+ UzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBFMTAeFw0yMTA0
3404
+ MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlu
3405
+ bHkxGjAYBgNVBAMTEUNlcnRhaW5seSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4
3406
+ fxzf7flHh4axpMCK+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9
3407
+ YBk2QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8EBAMCAQYw
3408
+ DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4hevIIgcwCgYIKoZIzj0E
3409
+ AwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozmut6Dacpps6kFtZaSF4fC0urQe87YQVt8
3410
+ rgIwRt7qy12a7DLCZRawTDBcMPPaTnOGBtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR
3411
+ -----END CERTIFICATE-----
3412
+
3413
+ E-Tugra Global Root CA RSA v3
3414
+ =============================
3415
+ -----BEGIN CERTIFICATE-----
3416
+ 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
3443
+ -----END CERTIFICATE-----
3444
+
3445
+ E-Tugra Global Root CA ECC v3
3446
+ =============================
3447
+ -----BEGIN CERTIFICATE-----
3448
+ MIICpTCCAiqgAwIBAgIUJkYZdzHhT28oNt45UYbm1JeIIsEwCgYIKoZIzj0EAwMwgYAxCzAJBgNV
3449
+ BAYTAlRSMQ8wDQYDVQQHEwZBbmthcmExGTAXBgNVBAoTEEUtVHVncmEgRUJHIEEuUy4xHTAbBgNV
3450
+ BAsTFEUtVHVncmEgVHJ1c3QgQ2VudGVyMSYwJAYDVQQDEx1FLVR1Z3JhIEdsb2JhbCBSb290IENB
3451
+ IEVDQyB2MzAeFw0yMDAzMTgwOTQ2NThaFw00NTAzMTIwOTQ2NThaMIGAMQswCQYDVQQGEwJUUjEP
3452
+ MA0GA1UEBxMGQW5rYXJhMRkwFwYDVQQKExBFLVR1Z3JhIEVCRyBBLlMuMR0wGwYDVQQLExRFLVR1
3453
+ Z3JhIFRydXN0IENlbnRlcjEmMCQGA1UEAxMdRS1UdWdyYSBHbG9iYWwgUm9vdCBDQSBFQ0MgdjMw
3454
+ djAQBgcqhkjOPQIBBgUrgQQAIgNiAASOmCm/xxAeJ9urA8woLNheSBkQKczLWYHMjLiSF4mDKpL2
3455
+ w6QdTGLVn9agRtwcvHbB40fQWxPa56WzZkjnIZpKT4YKfWzqTTKACrJ6CZtpS5iB4i7sAnCWH/31
3456
+ Rs7K3IKjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU/4Ixcj75xGZsrTie0bBRiKWQ
3457
+ zPUwHQYDVR0OBBYEFP+CMXI++cRmbK04ntGwUYilkMz1MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO
3458
+ PQQDAwNpADBmAjEA5gVYaWHlLcoNy/EZCL3W/VGSGn5jVASQkZo1kTmZ+gepZpO6yGjUij/67W4W
3459
+ Aie3AjEA3VoXK3YdZUKWpqxdinlW2Iob35reX8dQj7FbcQwm32pAAOwzkSFxvmjkI6TZraE3
3460
+ -----END CERTIFICATE-----
data/lib/excon/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Excon
3
- VERSION = '0.92.3'
3
+ VERSION = '0.92.5'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: excon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.92.3
4
+ version: 0.92.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - dpiddy (Dan Peterson)
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-04-27 00:00:00.000000000 Z
13
+ date: 2022-09-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec