excon 0.98.0 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/cacert.pem +47 -56
- data/lib/excon/connection.rb +11 -4
- data/lib/excon/version.rb +1 -1
- data/lib/excon.rb +18 -7
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36d4f018993652e0fc319db1bcc9f5e110e078b2f4c4b9e5cdda05397df976a5
|
|
4
|
+
data.tar.gz: ede827bdaf181b9ad1782e3f78980b60afdc9ef6f0210729323e15d1bc0ea995
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6dbd78b067f63b71194600382eafa8ec1f401f02b95a766ee7999b43d584d0e157951982111b2d0b2f565ae4f6eb99986a24b7304ce810f4827775088696b3b5
|
|
7
|
+
data.tar.gz: b686e5e7f5870a8491a37181f4f6122d784b6695177262531b3b6176a16f17e5a2dfb71ce0a1e460a56c108d1608f4f42e0c4aca743cdabfc7e19e973e797531
|
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
|
|
4
|
+
## Certificate data from Mozilla as of: Tue May 30 03:12:04 2023 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:
|
|
17
|
+
## SHA256: c47475103fb05bb562bbadff0d1e72346b03236154e1448a6ca191b740f83507
|
|
18
18
|
##
|
|
19
19
|
|
|
20
20
|
|
|
@@ -603,26 +603,6 @@ NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
|
|
|
603
603
|
dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
|
|
604
604
|
-----END CERTIFICATE-----
|
|
605
605
|
|
|
606
|
-
Hongkong Post Root CA 1
|
|
607
|
-
=======================
|
|
608
|
-
-----BEGIN CERTIFICATE-----
|
|
609
|
-
MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
|
|
610
|
-
DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
|
|
611
|
-
NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
|
|
612
|
-
IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
|
|
613
|
-
AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
|
|
614
|
-
ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
|
|
615
|
-
auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
|
|
616
|
-
qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
|
|
617
|
-
V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
|
|
618
|
-
HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
|
|
619
|
-
h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
|
|
620
|
-
l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
|
|
621
|
-
IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
|
|
622
|
-
T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
|
|
623
|
-
c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
|
|
624
|
-
-----END CERTIFICATE-----
|
|
625
|
-
|
|
626
606
|
SecureSign RootCA11
|
|
627
607
|
===================
|
|
628
608
|
-----BEGIN CERTIFICATE-----
|
|
@@ -1261,40 +1241,6 @@ Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
|
|
|
1261
1241
|
WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
|
|
1262
1242
|
-----END CERTIFICATE-----
|
|
1263
1243
|
|
|
1264
|
-
E-Tugra Certification Authority
|
|
1265
|
-
===============================
|
|
1266
|
-
-----BEGIN CERTIFICATE-----
|
|
1267
|
-
MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
|
|
1268
|
-
DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
|
|
1269
|
-
ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
|
|
1270
|
-
ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
|
|
1271
|
-
NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
|
|
1272
|
-
QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
|
|
1273
|
-
cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
|
|
1274
|
-
DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
|
|
1275
|
-
MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
|
|
1276
|
-
hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
|
|
1277
|
-
CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
|
|
1278
|
-
ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
|
|
1279
|
-
BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
|
|
1280
|
-
E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
|
|
1281
|
-
rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
|
|
1282
|
-
jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
|
|
1283
|
-
rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
|
|
1284
|
-
dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
|
|
1285
|
-
/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
|
|
1286
|
-
MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
|
|
1287
|
-
kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
|
|
1288
|
-
XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
|
|
1289
|
-
VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
|
|
1290
|
-
a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
|
|
1291
|
-
dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
|
|
1292
|
-
KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
|
|
1293
|
-
Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
|
|
1294
|
-
8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
|
|
1295
|
-
C7TbO6Orb1wdtn7os4I07QZcJA==
|
|
1296
|
-
-----END CERTIFICATE-----
|
|
1297
|
-
|
|
1298
1244
|
T-TeleSec GlobalRoot Class 2
|
|
1299
1245
|
============================
|
|
1300
1246
|
-----BEGIN CERTIFICATE-----
|
|
@@ -3370,3 +3316,48 @@ BggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3L
|
|
|
3370
3316
|
snNdo4gIxwwCMQDAqy0Obe0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70e
|
|
3371
3317
|
N9k=
|
|
3372
3318
|
-----END CERTIFICATE-----
|
|
3319
|
+
|
|
3320
|
+
BJCA Global Root CA1
|
|
3321
|
+
====================
|
|
3322
|
+
-----BEGIN CERTIFICATE-----
|
|
3323
|
+
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
|
|
3348
|
+
-----END CERTIFICATE-----
|
|
3349
|
+
|
|
3350
|
+
BJCA Global Root CA2
|
|
3351
|
+
====================
|
|
3352
|
+
-----BEGIN CERTIFICATE-----
|
|
3353
|
+
MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQswCQYDVQQGEwJD
|
|
3354
|
+
TjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJVFkxHTAbBgNVBAMMFEJKQ0Eg
|
|
3355
|
+
R2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgyMVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UE
|
|
3356
|
+
BhMCQ04xJjAkBgNVBAoMHUJFSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRC
|
|
3357
|
+
SkNBIEdsb2JhbCBSb290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jl
|
|
3358
|
+
SR9BIgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK++kpRuDCK
|
|
3359
|
+
/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJKsVF/BvDRgh9Obl+rg/xI
|
|
3360
|
+
1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8
|
|
3361
|
+
W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8g
|
|
3362
|
+
UXOQwKhbYdDFUDn9hf7B43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w==
|
|
3363
|
+
-----END CERTIFICATE-----
|
data/lib/excon/connection.rb
CHANGED
|
@@ -62,6 +62,7 @@ module Excon
|
|
|
62
62
|
# @option params [Class] :instrumentor Responds to #instrument as in ActiveSupport::Notifications
|
|
63
63
|
# @option params [String] :instrumentor_name Name prefix for #instrument events. Defaults to 'excon'
|
|
64
64
|
def initialize(params = {})
|
|
65
|
+
@pid = Process.pid
|
|
65
66
|
@data = Excon.defaults.dup
|
|
66
67
|
# merge does not deep-dup, so make sure headers is not the original
|
|
67
68
|
@data[:headers] = @data[:headers].dup
|
|
@@ -243,16 +244,17 @@ module Excon
|
|
|
243
244
|
datum[:headers]['Authorization'] ||= 'Basic ' + ["#{user}:#{pass}"].pack('m').delete(Excon::CR_NL)
|
|
244
245
|
end
|
|
245
246
|
|
|
247
|
+
host_key = datum[:headers].keys.detect {|k| k.casecmp('Host') == 0 } || 'Host'
|
|
246
248
|
if datum[:scheme] == UNIX
|
|
247
|
-
datum[:headers][
|
|
249
|
+
datum[:headers][host_key] ||= ''
|
|
248
250
|
else
|
|
249
|
-
datum[:headers][
|
|
251
|
+
datum[:headers][host_key] ||= datum[:host] + port_string(datum)
|
|
250
252
|
end
|
|
251
253
|
|
|
252
254
|
# RFC 7230, section 5.4, states that the Host header SHOULD be the first one # to be present.
|
|
253
255
|
# Some web servers will reject the request if it comes too late, so let's hoist it to the top.
|
|
254
|
-
if (host = datum[:headers].delete(
|
|
255
|
-
datum[:headers] = {
|
|
256
|
+
if (host = datum[:headers].delete(host_key))
|
|
257
|
+
datum[:headers] = { host_key => host }.merge(datum[:headers])
|
|
256
258
|
end
|
|
257
259
|
|
|
258
260
|
# default to GET if no method specified
|
|
@@ -480,6 +482,11 @@ module Excon
|
|
|
480
482
|
@_excon_sockets ||= {}
|
|
481
483
|
@_excon_sockets.compare_by_identity
|
|
482
484
|
|
|
485
|
+
if @pid != Process.pid
|
|
486
|
+
@_excon_sockets.clear # GC will take care of closing sockets
|
|
487
|
+
@pid = Process.pid
|
|
488
|
+
end
|
|
489
|
+
|
|
483
490
|
if @data[:thread_safe_sockets]
|
|
484
491
|
# In a multi-threaded world, if the same connection is used by multiple
|
|
485
492
|
# threads at the same time to connect to the same destination, they may
|
data/lib/excon/version.rb
CHANGED
data/lib/excon.rb
CHANGED
|
@@ -198,8 +198,13 @@ module Excon
|
|
|
198
198
|
headers_match = !stub.has_key?(:headers) || stub[:headers].keys.all? do |key|
|
|
199
199
|
case value = stub[:headers][key]
|
|
200
200
|
when Regexp
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
case request_params[:headers][key]
|
|
202
|
+
when String
|
|
203
|
+
if (match = value.match(request_params[:headers][key]))
|
|
204
|
+
captures[:headers][key] = match.captures
|
|
205
|
+
end
|
|
206
|
+
when Regexp # for unstub on regex params
|
|
207
|
+
match = (value == request_params[:headers][key])
|
|
203
208
|
end
|
|
204
209
|
match
|
|
205
210
|
else
|
|
@@ -209,8 +214,13 @@ module Excon
|
|
|
209
214
|
non_headers_match = (stub.keys - [:headers]).all? do |key|
|
|
210
215
|
case value = stub[key]
|
|
211
216
|
when Regexp
|
|
212
|
-
|
|
213
|
-
|
|
217
|
+
case request_params[key]
|
|
218
|
+
when String
|
|
219
|
+
if (match = value.match(request_params[key]))
|
|
220
|
+
captures[key] = match.captures
|
|
221
|
+
end
|
|
222
|
+
when Regexp # for unstub on regex params
|
|
223
|
+
match = (value == request_params[key])
|
|
214
224
|
end
|
|
215
225
|
match
|
|
216
226
|
else
|
|
@@ -235,12 +245,13 @@ module Excon
|
|
|
235
245
|
end
|
|
236
246
|
end
|
|
237
247
|
|
|
238
|
-
# remove first/oldest stub matching request_params
|
|
248
|
+
# remove first/oldest stub matching request_params or nil if none match
|
|
239
249
|
# @param request_params [Hash<Symbol, >] request params to match against, omitted params match all
|
|
240
250
|
# @return [Hash<Symbol, >] response params from deleted stub
|
|
241
251
|
def unstub(request_params = {})
|
|
242
|
-
stub = stub_for(request_params)
|
|
243
|
-
|
|
252
|
+
if (stub = stub_for(request_params))
|
|
253
|
+
Excon.stubs.delete_at(Excon.stubs.index(stub))
|
|
254
|
+
end
|
|
244
255
|
end
|
|
245
256
|
|
|
246
257
|
# Generic non-persistent HTTP methods
|
metadata
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: excon
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.100.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- dpiddy (Dan Peterson)
|
|
8
8
|
- geemus (Wesley Beary)
|
|
9
9
|
- nextmat (Matt Sanders)
|
|
10
|
-
autorequire:
|
|
10
|
+
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2023-
|
|
13
|
+
date: 2023-06-06 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rspec
|
|
@@ -235,7 +235,7 @@ metadata:
|
|
|
235
235
|
documentation_uri: https://github.com/excon/excon/blob/master/README.md
|
|
236
236
|
source_code_uri: https://github.com/excon/excon
|
|
237
237
|
wiki_uri: https://github.com/excon/excon/wiki
|
|
238
|
-
post_install_message:
|
|
238
|
+
post_install_message:
|
|
239
239
|
rdoc_options:
|
|
240
240
|
- "--charset=UTF-8"
|
|
241
241
|
require_paths:
|
|
@@ -251,8 +251,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
251
251
|
- !ruby/object:Gem::Version
|
|
252
252
|
version: '0'
|
|
253
253
|
requirements: []
|
|
254
|
-
rubygems_version: 3.4.
|
|
255
|
-
signing_key:
|
|
254
|
+
rubygems_version: 3.4.13
|
|
255
|
+
signing_key:
|
|
256
256
|
specification_version: 4
|
|
257
257
|
summary: speed, persistence, http(s)
|
|
258
258
|
test_files: []
|