excon 1.2.0 → 1.3.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/README.md +1 -0
- data/data/cacert.pem +171 -281
- data/excon.gemspec +24 -18
- data/lib/excon/connection.rb +4 -4
- data/lib/excon/constants.rb +18 -9
- data/lib/excon/error.rb +2 -2
- data/lib/excon/middlewares/redirect_follower.rb +2 -2
- data/lib/excon/socket.rb +8 -8
- data/lib/excon/ssl_socket.rb +4 -3
- data/lib/excon/test/plugin/server/puma.rb +1 -1
- data/lib/excon/test/plugin/server/unicorn.rb +5 -5
- data/lib/excon/test/plugin/server/webrick.rb +1 -1
- data/lib/excon/test/server.rb +2 -7
- data/lib/excon/unix_socket.rb +1 -1
- data/lib/excon/utils.rb +30 -33
- data/lib/excon/version.rb +1 -1
- data/lib/excon.rb +1 -1
- metadata +48 -22
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 66ea34a2551ab2b6b952365fb9f01f215e403f36713bd9fed0c1acf5832a3186
|
|
4
|
+
data.tar.gz: 8504fdb3abf428cb2bf34e6d25bfb8e8f8fffc9c412fabae0794b5040b256b51
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 74a8ea0f546297a3d6b8e687dd08a97b578fd00ee1cbbe6fb9807fa05a4d011fb9cc1aa8eeb376283c45b5e3df39001984210ea07930ea9e981218074779db0d
|
|
7
|
+
data.tar.gz: fc53331b8e605c199935cf79b3bbcdfd0a1e86b049905aa2257696191ad5931f047d83d3c99c3b599c12b42adb3d86aec0457aa28ff436e267d8fba8a15c69a2
|
data/README.md
CHANGED
|
@@ -512,6 +512,7 @@ Either of these should allow you to work around the socket error and continue wi
|
|
|
512
512
|
|
|
513
513
|
## Getting Help
|
|
514
514
|
|
|
515
|
+
- We support and test-against non-EOL Ruby versions. If you need older version support, please reach out.
|
|
515
516
|
- Ask specific questions on [Stack Overflow](http://stackoverflow.com/questions/tagged/excon).
|
|
516
517
|
- Report bugs and discuss potential features in [Github issues](https://github.com/excon/excon/issues).
|
|
517
518
|
|
data/data/cacert.pem
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
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 Aug 12 03:12:01 2025 GMT
|
|
5
5
|
##
|
|
6
6
|
## Find updated versions here: https://curl.se/docs/caextract.html
|
|
7
7
|
##
|
|
8
8
|
## This is a bundle of X.509 certificates of public Certificate Authorities
|
|
9
9
|
## (CA). These were automatically extracted from Mozilla's root certificates
|
|
10
10
|
## file (certdata.txt). This file can be found in the mozilla source tree:
|
|
11
|
-
## https://
|
|
11
|
+
## https://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/release/security/nss/lib/ckfw/builtins/certdata.txt
|
|
12
12
|
##
|
|
13
13
|
## It contains the certificates in PEM format and therefore
|
|
14
14
|
## can be directly used with curl / libcurl / php_curl, or with
|
|
@@ -16,76 +16,10 @@
|
|
|
16
16
|
## Just configure this file as the SSLCACertificateFile.
|
|
17
17
|
##
|
|
18
18
|
## Conversion done with mk-ca-bundle.pl version 1.29.
|
|
19
|
-
## SHA256:
|
|
19
|
+
## SHA256: c185b859c19b05f104c50e1b0b2a6c775149a1d9bb731d414d73b1722892a66c
|
|
20
20
|
##
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
GlobalSign Root CA
|
|
24
|
-
==================
|
|
25
|
-
-----BEGIN CERTIFICATE-----
|
|
26
|
-
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
|
|
27
|
-
GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
|
|
28
|
-
b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
|
|
29
|
-
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
|
|
30
|
-
VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
|
|
31
|
-
DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
|
|
32
|
-
THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
|
|
33
|
-
Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
|
|
34
|
-
c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
|
|
35
|
-
gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
|
|
36
|
-
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
|
|
37
|
-
AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
|
|
38
|
-
Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
|
|
39
|
-
j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
|
|
40
|
-
hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
|
|
41
|
-
X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
|
|
42
|
-
-----END CERTIFICATE-----
|
|
43
|
-
|
|
44
|
-
Entrust.net Premium 2048 Secure Server CA
|
|
45
|
-
=========================================
|
|
46
|
-
-----BEGIN CERTIFICATE-----
|
|
47
|
-
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
|
|
48
|
-
ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
|
|
49
|
-
bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
|
|
50
|
-
BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
|
|
51
|
-
NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
|
|
52
|
-
d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
|
|
53
|
-
MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
|
|
54
|
-
ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
|
55
|
-
MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
|
|
56
|
-
Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
|
|
57
|
-
hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
|
|
58
|
-
nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
|
|
59
|
-
VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
|
|
60
|
-
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
|
|
61
|
-
KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
|
|
62
|
-
T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
|
|
63
|
-
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
|
|
64
|
-
J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
|
|
65
|
-
nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
|
|
66
|
-
-----END CERTIFICATE-----
|
|
67
|
-
|
|
68
|
-
Baltimore CyberTrust Root
|
|
69
|
-
=========================
|
|
70
|
-
-----BEGIN CERTIFICATE-----
|
|
71
|
-
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
|
|
72
|
-
ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
|
|
73
|
-
ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
|
|
74
|
-
SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
|
|
75
|
-
dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
|
|
76
|
-
uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
|
|
77
|
-
UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
|
|
78
|
-
G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
|
|
79
|
-
XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
|
|
80
|
-
l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
|
|
81
|
-
VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
|
|
82
|
-
BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
|
|
83
|
-
cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
|
|
84
|
-
hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
|
|
85
|
-
Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
|
|
86
|
-
RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
|
87
|
-
-----END CERTIFICATE-----
|
|
88
|
-
|
|
89
23
|
Entrust Root Certification Authority
|
|
90
24
|
====================================
|
|
91
25
|
-----BEGIN CERTIFICATE-----
|
|
@@ -112,30 +46,6 @@ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
|
|
|
112
46
|
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
|
113
47
|
-----END CERTIFICATE-----
|
|
114
48
|
|
|
115
|
-
Comodo AAA Services root
|
|
116
|
-
========================
|
|
117
|
-
-----BEGIN CERTIFICATE-----
|
|
118
|
-
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
|
119
|
-
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
|
120
|
-
TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
|
|
121
|
-
MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
|
|
122
|
-
c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
|
|
123
|
-
BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
|
124
|
-
ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
|
|
125
|
-
C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
|
|
126
|
-
i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
|
|
127
|
-
Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
|
|
128
|
-
Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
|
|
129
|
-
Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
|
|
130
|
-
BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
|
|
131
|
-
cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
|
|
132
|
-
LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
|
|
133
|
-
7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
|
|
134
|
-
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
|
|
135
|
-
8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
|
|
136
|
-
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
|
137
|
-
-----END CERTIFICATE-----
|
|
138
|
-
|
|
139
49
|
QuoVadis Root CA 2
|
|
140
50
|
==================
|
|
141
51
|
-----BEGIN CERTIFICATE-----
|
|
@@ -202,78 +112,6 @@ vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
|
|
|
202
112
|
qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
|
|
203
113
|
-----END CERTIFICATE-----
|
|
204
114
|
|
|
205
|
-
XRamp Global CA Root
|
|
206
|
-
====================
|
|
207
|
-
-----BEGIN CERTIFICATE-----
|
|
208
|
-
MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
|
|
209
|
-
BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
|
|
210
|
-
dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
|
|
211
|
-
dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
|
|
212
|
-
HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
|
|
213
|
-
U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
|
214
|
-
dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
|
|
215
|
-
IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
|
|
216
|
-
foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
|
|
217
|
-
zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
|
|
218
|
-
AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
|
|
219
|
-
xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
|
|
220
|
-
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
|
|
221
|
-
oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
|
|
222
|
-
AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
|
|
223
|
-
/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
|
|
224
|
-
qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
|
|
225
|
-
nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
|
|
226
|
-
8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
|
|
227
|
-
-----END CERTIFICATE-----
|
|
228
|
-
|
|
229
|
-
Go Daddy Class 2 CA
|
|
230
|
-
===================
|
|
231
|
-
-----BEGIN CERTIFICATE-----
|
|
232
|
-
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
|
|
233
|
-
VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
|
|
234
|
-
ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
|
|
235
|
-
A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
|
|
236
|
-
RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
|
|
237
|
-
ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
|
|
238
|
-
2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
|
|
239
|
-
qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
|
|
240
|
-
YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
|
|
241
|
-
vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
|
|
242
|
-
BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
|
|
243
|
-
atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
|
|
244
|
-
MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
|
|
245
|
-
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
|
|
246
|
-
PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
|
|
247
|
-
I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
|
|
248
|
-
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
|
|
249
|
-
Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
|
|
250
|
-
vZ8=
|
|
251
|
-
-----END CERTIFICATE-----
|
|
252
|
-
|
|
253
|
-
Starfield Class 2 CA
|
|
254
|
-
====================
|
|
255
|
-
-----BEGIN CERTIFICATE-----
|
|
256
|
-
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
|
|
257
|
-
U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
|
|
258
|
-
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
|
|
259
|
-
MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
|
|
260
|
-
A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
|
|
261
|
-
SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
|
|
262
|
-
bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
|
|
263
|
-
JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
|
|
264
|
-
epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
|
|
265
|
-
F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
|
|
266
|
-
MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
|
|
267
|
-
hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
|
|
268
|
-
bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
|
|
269
|
-
QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
|
|
270
|
-
afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
|
|
271
|
-
PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
|
|
272
|
-
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
|
|
273
|
-
KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
|
|
274
|
-
QBFGmh95DmK/D5fs4C8fF5Q=
|
|
275
|
-
-----END CERTIFICATE-----
|
|
276
|
-
|
|
277
115
|
DigiCert Assured ID Root CA
|
|
278
116
|
===========================
|
|
279
117
|
-----BEGIN CERTIFICATE-----
|
|
@@ -371,37 +209,6 @@ NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
|
|
|
371
209
|
viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
|
|
372
210
|
-----END CERTIFICATE-----
|
|
373
211
|
|
|
374
|
-
SwissSign Silver CA - G2
|
|
375
|
-
========================
|
|
376
|
-
-----BEGIN CERTIFICATE-----
|
|
377
|
-
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
-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
-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
-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
-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
-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
-
+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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
|
|
399
|
-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
-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
-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
-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
|
|
403
|
-
-----END CERTIFICATE-----
|
|
404
|
-
|
|
405
212
|
SecureTrust CA
|
|
406
213
|
==============
|
|
407
214
|
-----BEGIN CERTIFICATE-----
|
|
@@ -584,27 +391,6 @@ NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
|
|
|
584
391
|
dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
|
|
585
392
|
-----END CERTIFICATE-----
|
|
586
393
|
|
|
587
|
-
SecureSign RootCA11
|
|
588
|
-
===================
|
|
589
|
-
-----BEGIN CERTIFICATE-----
|
|
590
|
-
MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
|
|
591
|
-
SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
|
|
592
|
-
b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
|
|
593
|
-
KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
|
|
594
|
-
cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
|
|
595
|
-
TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
|
|
596
|
-
wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
|
|
597
|
-
g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
|
|
598
|
-
O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
|
|
599
|
-
bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
|
|
600
|
-
t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
|
|
601
|
-
OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
|
|
602
|
-
bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
|
|
603
|
-
Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
|
|
604
|
-
y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
|
|
605
|
-
lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
|
|
606
|
-
-----END CERTIFICATE-----
|
|
607
|
-
|
|
608
394
|
Microsec e-Szigno Root CA 2009
|
|
609
395
|
==============================
|
|
610
396
|
-----BEGIN CERTIFICATE-----
|
|
@@ -2319,40 +2105,6 @@ hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB
|
|
|
2319
2105
|
dBb9HxEGmpv0
|
|
2320
2106
|
-----END CERTIFICATE-----
|
|
2321
2107
|
|
|
2322
|
-
Entrust Root Certification Authority - G4
|
|
2323
|
-
=========================================
|
|
2324
|
-
-----BEGIN CERTIFICATE-----
|
|
2325
|
-
MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJBgNV
|
|
2326
|
-
BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3Qu
|
|
2327
|
-
bmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1
|
|
2328
|
-
dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1
|
|
2329
|
-
dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYT
|
|
2330
|
-
AlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
|
|
2331
|
-
L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhv
|
|
2332
|
-
cml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv
|
|
2333
|
-
cml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3D
|
|
2334
|
-
umSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV
|
|
2335
|
-
3imz/f3ET+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds
|
|
2336
|
-
8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQ
|
|
2337
|
-
e9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7
|
|
2338
|
-
ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5X
|
|
2339
|
-
xNMhIWNlUpEbsZmOeX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV
|
|
2340
|
-
7rtNOzK+mndmnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8
|
|
2341
|
-
dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mW
|
|
2342
|
-
Hv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T
|
|
2343
|
-
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9n
|
|
2344
|
-
MA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4Q
|
|
2345
|
-
jbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht
|
|
2346
|
-
7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/B7NTeLUK
|
|
2347
|
-
YvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uIAeV8KEsD+UmDfLJ/fOPt
|
|
2348
|
-
jqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+
|
|
2349
|
-
m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKW
|
|
2350
|
-
RGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjA
|
|
2351
|
-
JOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G
|
|
2352
|
-
+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPT
|
|
2353
|
-
kcpG2om3PVODLAgfi49T3f+sHw==
|
|
2354
|
-
-----END CERTIFICATE-----
|
|
2355
|
-
|
|
2356
2108
|
Microsoft ECC Root Certificate Authority 2017
|
|
2357
2109
|
=============================================
|
|
2358
2110
|
-----BEGIN CERTIFICATE-----
|
|
@@ -2602,6 +2354,36 @@ vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+
|
|
|
2602
2354
|
CAezNIm8BZ/3Hobui3A=
|
|
2603
2355
|
-----END CERTIFICATE-----
|
|
2604
2356
|
|
|
2357
|
+
GLOBALTRUST 2020
|
|
2358
|
+
================
|
|
2359
|
+
-----BEGIN CERTIFICATE-----
|
|
2360
|
+
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
|
|
2385
|
+
-----END CERTIFICATE-----
|
|
2386
|
+
|
|
2605
2387
|
ANF Secure Server Root CA
|
|
2606
2388
|
=========================
|
|
2607
2389
|
-----BEGIN CERTIFICATE-----
|
|
@@ -3140,36 +2922,6 @@ AwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozmut6Dacpps6kFtZaSF4fC0urQe87YQVt8
|
|
|
3140
2922
|
rgIwRt7qy12a7DLCZRawTDBcMPPaTnOGBtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR
|
|
3141
2923
|
-----END CERTIFICATE-----
|
|
3142
2924
|
|
|
3143
|
-
Security Communication RootCA3
|
|
3144
|
-
==============================
|
|
3145
|
-
-----BEGIN CERTIFICATE-----
|
|
3146
|
-
MIIFfzCCA2egAwIBAgIJAOF8N0D9G/5nMA0GCSqGSIb3DQEBDAUAMF0xCzAJBgNVBAYTAkpQMSUw
|
|
3147
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
CBEF/VfR2ccCAwEAAaNCMEAwHQYDVR0OBBYEFGQUfPxYchamCik0FW8qy7z8r6irMA4GA1UdDwEB
|
|
3161
|
-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
-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
-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
-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
-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
-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
-
+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
-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
-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
-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
|
|
3171
|
-
-----END CERTIFICATE-----
|
|
3172
|
-
|
|
3173
2925
|
Security Communication ECC RootCA1
|
|
3174
2926
|
==================================
|
|
3175
2927
|
-----BEGIN CERTIFICATE-----
|
|
@@ -3664,3 +3416,141 @@ AgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT9DAKBggqhkjOPQQDAwNoADBlAjEA2S6J
|
|
|
3664
3416
|
fl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJ
|
|
3665
3417
|
SwdLZrWeqrqgHkHZAXQ6bkU6iYAZezKYVWOr62Nuk22rGwlgMU4=
|
|
3666
3418
|
-----END CERTIFICATE-----
|
|
3419
|
+
|
|
3420
|
+
D-TRUST BR Root CA 2 2023
|
|
3421
|
+
=========================
|
|
3422
|
+
-----BEGIN CERTIFICATE-----
|
|
3423
|
+
MIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQG
|
|
3424
|
+
EwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0Eg
|
|
3425
|
+
MiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUwOTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTAT
|
|
3426
|
+
BgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCC
|
|
3427
|
+
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCT
|
|
3428
|
+
cfKri3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNEgXtRr90z
|
|
3429
|
+
sWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8k12b9py0i4a6Ibn08OhZ
|
|
3430
|
+
WiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCTRphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6
|
|
3431
|
+
++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LUL
|
|
3432
|
+
QyReS2tNZ9/WtT5PeB+UcSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIv
|
|
3433
|
+
x9gvdhFP/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bSuREV
|
|
3434
|
+
MweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+0bpwHJwh5Q8xaRfX
|
|
3435
|
+
/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4NDfTisl01gLmB1IRpkQLLddCNxbU9
|
|
3436
|
+
CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+XTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB
|
|
3437
|
+
/zAdBgNVHQ4EFgQUZ5Dw1t61GNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRC
|
|
3438
|
+
MEAwPqA8oDqGOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y
|
|
3439
|
+
XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tIFoE9c+CeJyrr
|
|
3440
|
+
d6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67nriv6uvw8l5VAk1/DLQOj7aRv
|
|
3441
|
+
U9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTRVFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4
|
|
3442
|
+
nj8+AybmTNudX0KEPUUDAxxZiMrcLmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdij
|
|
3443
|
+
YQ6qgYF/6FKC0ULn4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff
|
|
3444
|
+
/vtDhQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsGkoHU6XCP
|
|
3445
|
+
pz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46ls/pdu4D58JDUjxqgejB
|
|
3446
|
+
WoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aSEcr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/
|
|
3447
|
+
5usWDiJFAbzdNpQ0qTUmiteXue4Icr80knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jt
|
|
3448
|
+
n/mtd+ArY0+ew+43u3gJhJ65bvspmZDogNOfJA==
|
|
3449
|
+
-----END CERTIFICATE-----
|
|
3450
|
+
|
|
3451
|
+
TrustAsia TLS ECC Root CA
|
|
3452
|
+
=========================
|
|
3453
|
+
-----BEGIN CERTIFICATE-----
|
|
3454
|
+
MIICMTCCAbegAwIBAgIUNnThTXxlE8msg1UloD5Sfi9QaMcwCgYIKoZIzj0EAwMwWDELMAkGA1UE
|
|
3455
|
+
BhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xIjAgBgNVBAMTGVRy
|
|
3456
|
+
dXN0QXNpYSBUTFMgRUNDIFJvb3QgQ0EwHhcNMjQwNTE1MDU0MTU2WhcNNDQwNTE1MDU0MTU1WjBY
|
|
3457
|
+
MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEiMCAG
|
|
3458
|
+
A1UEAxMZVHJ1c3RBc2lhIFRMUyBFQ0MgUm9vdCBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABLh/
|
|
3459
|
+
pVs/AT598IhtrimY4ZtcU5nb9wj/1WrgjstEpvDBjL1P1M7UiFPoXlfXTr4sP/MSpwDpguMqWzJ8
|
|
3460
|
+
S5sUKZ74LYO1644xST0mYekdcouJtgq7nDM1D9rs3qlKH8kzsaNCMEAwDwYDVR0TAQH/BAUwAwEB
|
|
3461
|
+
/zAdBgNVHQ4EFgQULIVTu7FDzTLqnqOH/qKYqKaT6RAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49
|
|
3462
|
+
BAMDA2gAMGUCMFRH18MtYYZI9HlaVQ01L18N9mdsd0AaRuf4aFtOJx24mH1/k78ITcTaRTChD15K
|
|
3463
|
+
eAIxAKORh/IRM4PDwYqROkwrULG9IpRdNYlzg8WbGf60oenUoWa2AaU2+dhoYSi3dOGiMQ==
|
|
3464
|
+
-----END CERTIFICATE-----
|
|
3465
|
+
|
|
3466
|
+
TrustAsia TLS RSA Root CA
|
|
3467
|
+
=========================
|
|
3468
|
+
-----BEGIN CERTIFICATE-----
|
|
3469
|
+
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
|
|
3494
|
+
-----END CERTIFICATE-----
|
|
3495
|
+
|
|
3496
|
+
D-TRUST EV Root CA 2 2023
|
|
3497
|
+
=========================
|
|
3498
|
+
-----BEGIN CERTIFICATE-----
|
|
3499
|
+
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
|
|
3524
|
+
+KIkBI3Y4WNeApI02phhXBxvWHZks/wCuPWdCg==
|
|
3525
|
+
-----END CERTIFICATE-----
|
|
3526
|
+
|
|
3527
|
+
SwissSign RSA TLS Root CA 2022 - 1
|
|
3528
|
+
==================================
|
|
3529
|
+
-----BEGIN CERTIFICATE-----
|
|
3530
|
+
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
|
|
3555
|
+
tnu64ZzZ
|
|
3556
|
+
-----END CERTIFICATE-----
|
data/excon.gemspec
CHANGED
|
@@ -1,45 +1,51 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), 'lib')
|
|
2
4
|
require 'excon/version'
|
|
3
5
|
|
|
4
6
|
Gem::Specification.new do |s|
|
|
5
7
|
s.name = 'excon'
|
|
6
8
|
s.version = Excon::VERSION
|
|
7
|
-
s.summary =
|
|
8
|
-
s.description =
|
|
9
|
-
s.authors = [
|
|
9
|
+
s.summary = 'speed, persistence, http(s)'
|
|
10
|
+
s.description = 'EXtended http(s) CONnections'
|
|
11
|
+
s.authors = ['dpiddy (Dan Peterson)', 'geemus (Wesley Beary)', 'nextmat (Matt Sanders)']
|
|
10
12
|
s.email = 'geemus@gmail.com'
|
|
11
13
|
s.homepage = 'https://github.com/excon/excon'
|
|
12
14
|
s.license = 'MIT'
|
|
13
|
-
s.rdoc_options = [
|
|
15
|
+
s.rdoc_options = ['--charset=UTF-8']
|
|
14
16
|
s.extra_rdoc_files = %w[README.md CONTRIBUTORS.md CONTRIBUTING.md]
|
|
15
17
|
s.files = `git ls-files -- data/* lib/*`.split("\n") + [
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
'CONTRIBUTING.md',
|
|
19
|
+
'CONTRIBUTORS.md',
|
|
20
|
+
'LICENSE.md',
|
|
21
|
+
'README.md',
|
|
22
|
+
'excon.gemspec'
|
|
21
23
|
]
|
|
22
|
-
s.required_ruby_version = '>=
|
|
24
|
+
s.required_ruby_version = '>= 3.1.0'
|
|
25
|
+
|
|
26
|
+
s.add_dependency 'logger'
|
|
23
27
|
|
|
24
|
-
s.add_development_dependency('rspec', '>= 3.5.0')
|
|
25
28
|
s.add_development_dependency('activesupport')
|
|
26
29
|
s.add_development_dependency('delorean')
|
|
27
30
|
s.add_development_dependency('eventmachine', '>= 1.0.4')
|
|
31
|
+
s.add_development_dependency('json', '>= 1.8.5')
|
|
28
32
|
s.add_development_dependency('open4')
|
|
33
|
+
s.add_development_dependency('puma')
|
|
29
34
|
s.add_development_dependency('rake')
|
|
35
|
+
s.add_development_dependency('rdoc')
|
|
36
|
+
s.add_development_dependency('rspec', '>= 3.5.0')
|
|
30
37
|
s.add_development_dependency('shindo')
|
|
31
38
|
s.add_development_dependency('sinatra')
|
|
32
39
|
s.add_development_dependency('sinatra-contrib')
|
|
33
|
-
s.add_development_dependency('json', '>= 1.8.5')
|
|
34
|
-
s.add_development_dependency('puma')
|
|
35
40
|
s.add_development_dependency('webrick')
|
|
36
41
|
|
|
37
42
|
s.metadata = {
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'changelog_uri' => 'https://github.com/excon/excon/blob/master/changelog.txt',
|
|
43
|
+
'bug_tracker_uri' => 'https://github.com/excon/excon/issues',
|
|
44
|
+
'changelog_uri' => 'https://github.com/excon/excon/blob/master/changelog.txt',
|
|
41
45
|
'documentation_uri' => 'https://github.com/excon/excon/blob/master/README.md',
|
|
42
|
-
'
|
|
43
|
-
'
|
|
46
|
+
'funding_uri' => 'https://github.com/sponsors/geemus',
|
|
47
|
+
'homepage_uri' => 'https://github.com/excon/excon',
|
|
48
|
+
'source_code_uri' => 'https://github.com/excon/excon',
|
|
49
|
+
'wiki_uri' => 'https://github.com/excon/excon/wiki'
|
|
44
50
|
}
|
|
45
51
|
end
|
data/lib/excon/connection.rb
CHANGED
|
@@ -159,7 +159,7 @@ module Excon
|
|
|
159
159
|
if chunk.length > 0
|
|
160
160
|
socket(datum).write(chunk.length.to_s(16) << CR_NL << chunk << CR_NL)
|
|
161
161
|
else
|
|
162
|
-
socket(datum).write(
|
|
162
|
+
socket(datum).write("0#{CR_NL}#{CR_NL}")
|
|
163
163
|
break
|
|
164
164
|
end
|
|
165
165
|
end
|
|
@@ -194,7 +194,7 @@ module Excon
|
|
|
194
194
|
raise(error)
|
|
195
195
|
when Errno::EPIPE
|
|
196
196
|
# Read whatever remains in the pipe to aid in debugging
|
|
197
|
-
response = socket.read
|
|
197
|
+
response = socket.read rescue ""
|
|
198
198
|
error = Excon::Error.new(response + error.message)
|
|
199
199
|
raise_socket_error(error)
|
|
200
200
|
else
|
|
@@ -329,7 +329,7 @@ module Excon
|
|
|
329
329
|
# @param pipeline_params [Array<Hash>] An array of one or more optional params, override defaults set in Connection.new, see #request for details
|
|
330
330
|
def requests(pipeline_params)
|
|
331
331
|
pipeline_params.each {|params| params.merge!(:pipeline => true, :persistent => true) }
|
|
332
|
-
pipeline_params.last
|
|
332
|
+
pipeline_params.last[:persistent] = @data[:persistent]
|
|
333
333
|
|
|
334
334
|
responses = pipeline_params.map do |params|
|
|
335
335
|
request(params)
|
|
@@ -511,7 +511,7 @@ module Excon
|
|
|
511
511
|
end
|
|
512
512
|
|
|
513
513
|
def raise_socket_error(error)
|
|
514
|
-
if error.message
|
|
514
|
+
if error.message.include?('certificate verify failed')
|
|
515
515
|
raise(Excon::Errors::CertificateError.new(error))
|
|
516
516
|
else
|
|
517
517
|
raise(Excon::Errors::SocketError.new(error))
|
data/lib/excon/constants.rb
CHANGED
|
@@ -35,10 +35,11 @@ module Excon
|
|
|
35
35
|
|
|
36
36
|
UNIX = 'unix'
|
|
37
37
|
|
|
38
|
-
USER_AGENT = "excon/#{VERSION}"
|
|
38
|
+
USER_AGENT = "excon/#{VERSION}".freeze
|
|
39
39
|
|
|
40
|
-
VERSIONS = "#{USER_AGENT} (#{RUBY_PLATFORM}) ruby/#{RUBY_VERSION}"
|
|
40
|
+
VERSIONS = "#{USER_AGENT} (#{RUBY_PLATFORM}) ruby/#{RUBY_VERSION}".freeze
|
|
41
41
|
|
|
42
|
+
# FIXME: should be frozen, but with a way to change them, similar to defaults
|
|
42
43
|
VALID_REQUEST_KEYS = %i[
|
|
43
44
|
allow_unstubbed_requests
|
|
44
45
|
body
|
|
@@ -65,9 +66,10 @@ module Excon
|
|
|
65
66
|
user
|
|
66
67
|
versions
|
|
67
68
|
write_timeout
|
|
68
|
-
]
|
|
69
|
+
]
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
# FIXME: should be frozen, but with a way to change them, similar to defaults
|
|
72
|
+
VALID_CONNECTION_KEYS = (VALID_REQUEST_KEYS + %i[
|
|
71
73
|
ciphers
|
|
72
74
|
client_key
|
|
73
75
|
client_key_data
|
|
@@ -86,6 +88,7 @@ module Excon
|
|
|
86
88
|
keepalive
|
|
87
89
|
host
|
|
88
90
|
hostname
|
|
91
|
+
ignore_unexpected_eof
|
|
89
92
|
include_default_port
|
|
90
93
|
omit_default_port
|
|
91
94
|
nonblock
|
|
@@ -110,7 +113,7 @@ module Excon
|
|
|
110
113
|
tcp_nodelay
|
|
111
114
|
thread_safe_sockets
|
|
112
115
|
uri_parser
|
|
113
|
-
]
|
|
116
|
+
])
|
|
114
117
|
|
|
115
118
|
DEPRECATED_VALID_REQUEST_KEYS = {
|
|
116
119
|
captures: 'Mock',
|
|
@@ -137,7 +140,7 @@ module Excon
|
|
|
137
140
|
end
|
|
138
141
|
|
|
139
142
|
# these come last as they rely on the above
|
|
140
|
-
|
|
143
|
+
base_defaults = {
|
|
141
144
|
chunk_size: CHUNK_SIZE || DEFAULT_CHUNK_SIZE,
|
|
142
145
|
# see https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29
|
|
143
146
|
# list provided then had DES related things sorted to the end
|
|
@@ -149,7 +152,7 @@ module Excon
|
|
|
149
152
|
headers: {
|
|
150
153
|
'User-Agent' => USER_AGENT,
|
|
151
154
|
'Accept' => '*/*'
|
|
152
|
-
},
|
|
155
|
+
}.freeze,
|
|
153
156
|
idempotent: false,
|
|
154
157
|
instrumentor_name: 'excon',
|
|
155
158
|
middlewares: [
|
|
@@ -170,7 +173,7 @@ module Excon
|
|
|
170
173
|
retry_errors: DEFAULT_RETRY_ERRORS,
|
|
171
174
|
retry_limit: DEFAULT_RETRY_LIMIT,
|
|
172
175
|
ssl_verify_peer: true,
|
|
173
|
-
ssl_uri_schemes: [HTTPS],
|
|
176
|
+
ssl_uri_schemes: [HTTPS].freeze,
|
|
174
177
|
stubs: :global,
|
|
175
178
|
tcp_nodelay: false,
|
|
176
179
|
thread_safe_sockets: true,
|
|
@@ -178,5 +181,11 @@ module Excon
|
|
|
178
181
|
uri_parser: URI,
|
|
179
182
|
versions: VERSIONS,
|
|
180
183
|
write_timeout: 60
|
|
181
|
-
}
|
|
184
|
+
}.freeze
|
|
185
|
+
|
|
186
|
+
DEFAULTS = if defined? TEST_SUITE_DEFAULTS
|
|
187
|
+
base_defaults.merge(TEST_SUITE_DEFAULTS).freeze
|
|
188
|
+
else
|
|
189
|
+
base_defaults.freeze
|
|
190
|
+
end
|
|
182
191
|
end
|
data/lib/excon/error.rb
CHANGED
|
@@ -216,8 +216,8 @@ or:
|
|
|
216
216
|
|
|
217
217
|
klasses.each do |klass|
|
|
218
218
|
class_name = klass.to_s
|
|
219
|
-
unless class_name
|
|
220
|
-
class_name = klass.to_s + 'Error' if class_name
|
|
219
|
+
unless class_name.match?(/Error\Z/)
|
|
220
|
+
class_name = klass.to_s + 'Error' if class_name.match?(legacy_re)
|
|
221
221
|
end
|
|
222
222
|
Excon::Errors.const_set(class_name, Excon::Error.const_get(klass))
|
|
223
223
|
end
|
|
@@ -67,8 +67,8 @@ module Excon
|
|
|
67
67
|
:query => uri.query
|
|
68
68
|
)
|
|
69
69
|
|
|
70
|
-
params
|
|
71
|
-
params
|
|
70
|
+
params[:user] = Utils.unescape_uri(uri.user) if uri.user
|
|
71
|
+
params[:password] = Utils.unescape_uri(uri.password) if uri.password
|
|
72
72
|
|
|
73
73
|
response = Excon::Connection.new(params).request
|
|
74
74
|
datum.merge!({
|
data/lib/excon/socket.rb
CHANGED
|
@@ -11,19 +11,19 @@ module Excon
|
|
|
11
11
|
|
|
12
12
|
# read/write drawn from https://github.com/ruby-amqp/bunny/commit/75d9dd79551b31a5dd3d1254c537bad471f108cf
|
|
13
13
|
CONNECT_RETRY_EXCEPTION_CLASSES = if defined?(IO::EINPROGRESSWaitWritable) # Ruby >= 2.1
|
|
14
|
-
[Errno::EINPROGRESS, IO::EINPROGRESSWaitWritable]
|
|
14
|
+
[Errno::EINPROGRESS, IO::EINPROGRESSWaitWritable].freeze
|
|
15
15
|
else # Ruby <= 2.0
|
|
16
|
-
[Errno::EINPROGRESS]
|
|
16
|
+
[Errno::EINPROGRESS].freeze
|
|
17
17
|
end
|
|
18
18
|
READ_RETRY_EXCEPTION_CLASSES = if defined?(IO::EAGAINWaitReadable) # Ruby >= 2.1
|
|
19
|
-
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable, IO::EAGAINWaitReadable, IO::EWOULDBLOCKWaitReadable]
|
|
19
|
+
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable, IO::EAGAINWaitReadable, IO::EWOULDBLOCKWaitReadable].freeze
|
|
20
20
|
else # Ruby <= 2.0
|
|
21
|
-
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable]
|
|
21
|
+
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable].freeze
|
|
22
22
|
end
|
|
23
23
|
WRITE_RETRY_EXCEPTION_CLASSES = if defined?(IO::EAGAINWaitWritable) # Ruby >= 2.1
|
|
24
|
-
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitWritable, IO::EAGAINWaitWritable, IO::EWOULDBLOCKWaitWritable]
|
|
24
|
+
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitWritable, IO::EAGAINWaitWritable, IO::EWOULDBLOCKWaitWritable].freeze
|
|
25
25
|
else # Ruby <= 2.0
|
|
26
|
-
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitWritable]
|
|
26
|
+
[Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitWritable].freeze
|
|
27
27
|
end
|
|
28
28
|
# Maps a socket operation to a timeout property.
|
|
29
29
|
OPERATION_TO_TIMEOUT = {
|
|
@@ -132,7 +132,7 @@ module Excon
|
|
|
132
132
|
family = @data[:proxy][:family]
|
|
133
133
|
end
|
|
134
134
|
|
|
135
|
-
resolver = @data[:resolv_resolver] || Resolv
|
|
135
|
+
resolver = @data[:resolv_resolver] || Resolv.new
|
|
136
136
|
|
|
137
137
|
# Deprecated
|
|
138
138
|
if @data[:dns_timeouts]
|
|
@@ -181,7 +181,7 @@ module Excon
|
|
|
181
181
|
socket.close rescue nil
|
|
182
182
|
end
|
|
183
183
|
rescue SystemCallError => exception
|
|
184
|
-
socket
|
|
184
|
+
socket&.close rescue nil
|
|
185
185
|
end
|
|
186
186
|
end
|
|
187
187
|
|
data/lib/excon/ssl_socket.rb
CHANGED
|
@@ -26,6 +26,7 @@ module Excon
|
|
|
26
26
|
if defined?(OpenSSL::SSL::OP_NO_COMPRESSION)
|
|
27
27
|
ssl_context_options |= OpenSSL::SSL::OP_NO_COMPRESSION
|
|
28
28
|
end
|
|
29
|
+
ssl_context_options |= OpenSSL::SSL::OP_IGNORE_UNEXPECTED_EOF if @data[:ignore_unexpected_eof]
|
|
29
30
|
ssl_context.options = ssl_context_options
|
|
30
31
|
|
|
31
32
|
ssl_context.ciphers = @data[:ciphers]
|
|
@@ -63,7 +64,7 @@ module Excon
|
|
|
63
64
|
unless ca_file || ca_path || cert_store
|
|
64
65
|
# workaround issue #257 (JRUBY-6970)
|
|
65
66
|
ca_file = DEFAULT_CA_FILE
|
|
66
|
-
ca_file = ca_file.gsub(/^jar:/, '') if ca_file
|
|
67
|
+
ca_file = ca_file.gsub(/^jar:/, '') if ca_file.match?(/^jar:file:\//)
|
|
67
68
|
|
|
68
69
|
begin
|
|
69
70
|
ssl_context.cert_store.add_file(ca_file)
|
|
@@ -108,8 +109,8 @@ module Excon
|
|
|
108
109
|
end
|
|
109
110
|
|
|
110
111
|
if @data[:proxy]
|
|
111
|
-
request = "CONNECT #{@data[:host]}
|
|
112
|
-
"Host: #{@data[:host]}
|
|
112
|
+
request = "CONNECT #{@data[:host]}:#{@data[:port]}#{Excon::HTTP_1_1}" \
|
|
113
|
+
"Host: #{@data[:host]}:#{@data[:port]}#{Excon::CR_NL}"
|
|
113
114
|
|
|
114
115
|
if @data[:proxy].has_key?(:user) || @data[:proxy].has_key?(:password)
|
|
115
116
|
user, pass = Utils.unescape_form(@data[:proxy][:user].to_s), Utils.unescape_form(@data[:proxy][:password].to_s)
|
|
@@ -7,7 +7,7 @@ module Excon
|
|
|
7
7
|
open_process(RbConfig.ruby, '-S', 'puma', '-b', bind_uri.to_s, app_str)
|
|
8
8
|
process_stderr = ""
|
|
9
9
|
line = ''
|
|
10
|
-
until line
|
|
10
|
+
until line.include?('Use Ctrl-C to stop')
|
|
11
11
|
line = read.gets
|
|
12
12
|
raise process_stderr if line.nil?
|
|
13
13
|
process_stderr << line
|
|
@@ -12,19 +12,19 @@ module Excon
|
|
|
12
12
|
host = bind_uri.host.gsub(/[\[\]]/, '')
|
|
13
13
|
bind_str = "#{host}:#{bind_uri.port}"
|
|
14
14
|
end
|
|
15
|
-
args = [
|
|
15
|
+
args = [
|
|
16
16
|
RbConfig.ruby,
|
|
17
17
|
'-S',
|
|
18
|
-
'unicorn',
|
|
19
|
-
'--no-default-middleware',
|
|
18
|
+
'unicorn',
|
|
19
|
+
'--no-default-middleware',
|
|
20
20
|
'-l',
|
|
21
|
-
bind_str,
|
|
21
|
+
bind_str,
|
|
22
22
|
app_str
|
|
23
23
|
]
|
|
24
24
|
open_process(*args)
|
|
25
25
|
process_stderr = ''
|
|
26
26
|
line = ''
|
|
27
|
-
until line
|
|
27
|
+
until line.include?('worker=0 ready')
|
|
28
28
|
line = error.gets
|
|
29
29
|
raise process_stderr if line.nil?
|
|
30
30
|
process_stderr << line
|
|
@@ -10,7 +10,7 @@ module Excon
|
|
|
10
10
|
open_process(RbConfig.ruby, '-S', 'rackup', '-s', 'webrick', '--host', host, '--port', port, app_str)
|
|
11
11
|
process_stderr = ""
|
|
12
12
|
line = ''
|
|
13
|
-
until line
|
|
13
|
+
until line.include?('HTTPServer#start')
|
|
14
14
|
line = error.gets
|
|
15
15
|
raise process_stderr if line.nil?
|
|
16
16
|
process_stderr << line
|
data/lib/excon/test/server.rb
CHANGED
|
@@ -13,11 +13,6 @@ module Excon
|
|
|
13
13
|
|
|
14
14
|
# Methods that must be implemented by a plugin
|
|
15
15
|
INSTANCE_REQUIRES = [:start]
|
|
16
|
-
Excon.defaults.merge!(
|
|
17
|
-
connect_timeout: 5,
|
|
18
|
-
read_timeout: 5,
|
|
19
|
-
write_timeout: 5
|
|
20
|
-
)
|
|
21
16
|
|
|
22
17
|
def initialize(args)
|
|
23
18
|
# TODO: Validate these args
|
|
@@ -55,7 +50,7 @@ module Excon
|
|
|
55
50
|
if RUBY_PLATFORM == 'java'
|
|
56
51
|
Process.kill('USR1', pid)
|
|
57
52
|
else
|
|
58
|
-
Process.kill(
|
|
53
|
+
Process.kill('KILL', pid)
|
|
59
54
|
Process.wait(pid)
|
|
60
55
|
end
|
|
61
56
|
|
|
@@ -73,7 +68,7 @@ module Excon
|
|
|
73
68
|
while (line = lines.shift)
|
|
74
69
|
case line
|
|
75
70
|
when /(ERROR|Error)/
|
|
76
|
-
unless line
|
|
71
|
+
unless line.match?(/(null cert chain|did not return a certificate|SSL_read:: internal error)/)
|
|
77
72
|
in_err = true
|
|
78
73
|
puts
|
|
79
74
|
end
|
data/lib/excon/unix_socket.rb
CHANGED
data/lib/excon/utils.rb
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
+
|
|
2
3
|
module Excon
|
|
3
4
|
module Utils
|
|
4
|
-
|
|
5
|
+
module_function
|
|
5
6
|
|
|
6
|
-
CONTROL = (0x0..0x1f).map
|
|
7
|
+
CONTROL = "#{(0x0..0x1f).map(&:chr).join}\u007F"
|
|
7
8
|
DELIMS = '<>#%"'
|
|
8
9
|
UNWISE = '{}|\\^[]`'
|
|
9
|
-
NONASCII = (0x80..0xff).map
|
|
10
|
-
UNESCAPED = /([#{
|
|
11
|
-
ESCAPED = /%([0-9a-fA-F]{2})
|
|
10
|
+
NONASCII = (0x80..0xff).map(&:chr).join
|
|
11
|
+
UNESCAPED = /([#{Regexp.escape("#{CONTROL} #{DELIMS}#{UNWISE}#{NONASCII}")}])/.freeze
|
|
12
|
+
ESCAPED = /%([0-9a-fA-F]{2})/.freeze
|
|
12
13
|
|
|
13
14
|
def binary_encode(string)
|
|
14
15
|
if FORCE_ENC && string.encoding != Encoding::ASCII_8BIT
|
|
@@ -23,9 +24,8 @@ module Excon
|
|
|
23
24
|
end
|
|
24
25
|
|
|
25
26
|
def connection_uri(datum = @data)
|
|
26
|
-
unless datum
|
|
27
|
-
|
|
28
|
-
end
|
|
27
|
+
raise ArgumentError, '`datum` must be given unless called on a Connection' unless datum
|
|
28
|
+
|
|
29
29
|
if datum[:scheme] == UNIX
|
|
30
30
|
"#{datum[:scheme]}://#{datum[:socket]}"
|
|
31
31
|
else
|
|
@@ -36,21 +36,15 @@ module Excon
|
|
|
36
36
|
# Redact sensitive info from provided data
|
|
37
37
|
def redact(datum)
|
|
38
38
|
datum = datum.dup
|
|
39
|
-
if datum.
|
|
40
|
-
if datum[:headers].
|
|
39
|
+
if datum.key?(:headers)
|
|
40
|
+
if datum[:headers].key?('Authorization') || datum[:headers].key?('Proxy-Authorization')
|
|
41
41
|
datum[:headers] = datum[:headers].dup
|
|
42
42
|
end
|
|
43
|
-
if datum[:headers].
|
|
44
|
-
|
|
45
|
-
end
|
|
46
|
-
if datum[:headers].has_key?('Proxy-Authorization')
|
|
47
|
-
datum[:headers]['Proxy-Authorization'] = REDACTED
|
|
48
|
-
end
|
|
43
|
+
datum[:headers]['Authorization'] = REDACTED if datum[:headers].key?('Authorization')
|
|
44
|
+
datum[:headers]['Proxy-Authorization'] = REDACTED if datum[:headers].key?('Proxy-Authorization')
|
|
49
45
|
end
|
|
50
|
-
if datum.
|
|
51
|
-
|
|
52
|
-
end
|
|
53
|
-
if datum.has_key?(:proxy) && datum[:proxy] && datum[:proxy].has_key?(:password)
|
|
46
|
+
datum[:password] = REDACTED if datum.key?(:password)
|
|
47
|
+
if datum.key?(:proxy) && datum[:proxy]&.key?(:password)
|
|
54
48
|
datum[:proxy] = datum[:proxy].dup
|
|
55
49
|
datum[:proxy][:password] = REDACTED
|
|
56
50
|
end
|
|
@@ -76,13 +70,13 @@ module Excon
|
|
|
76
70
|
end
|
|
77
71
|
|
|
78
72
|
def query_string(datum)
|
|
79
|
-
str =
|
|
73
|
+
str = +''
|
|
80
74
|
case datum[:query]
|
|
81
75
|
when String
|
|
82
76
|
str << '?' << datum[:query]
|
|
83
77
|
when Hash
|
|
84
78
|
str << '?'
|
|
85
|
-
datum[:query].sort_by {|k,_| k.to_s }.each do |key, values|
|
|
79
|
+
datum[:query].sort_by { |k, _| k.to_s }.each do |key, values|
|
|
86
80
|
key = CGI.escape(key.to_s)
|
|
87
81
|
if values.nil?
|
|
88
82
|
str << key << '&'
|
|
@@ -100,46 +94,49 @@ module Excon
|
|
|
100
94
|
# Splits a header value +str+ according to HTTP specification.
|
|
101
95
|
def split_header_value(str)
|
|
102
96
|
return [] if str.nil?
|
|
97
|
+
|
|
103
98
|
str = str.dup.strip
|
|
104
99
|
str = binary_encode(str)
|
|
105
|
-
str.scan(
|
|
106
|
-
(?:,\s*|\Z)
|
|
100
|
+
str.scan(/\G((?:"(?:\\.|[^"])+?"|[^",])+)
|
|
101
|
+
(?:,\s*|\Z)/xn).flatten
|
|
107
102
|
end
|
|
108
103
|
|
|
109
104
|
# Escapes HTTP reserved and unwise characters in +str+
|
|
110
105
|
def escape_uri(str)
|
|
111
106
|
str = str.dup
|
|
112
107
|
str = binary_encode(str)
|
|
113
|
-
str.gsub(UNESCAPED) {
|
|
108
|
+
str.gsub(UNESCAPED) { format('%%%02X', ::Regexp.last_match(1)[0].ord) }
|
|
114
109
|
end
|
|
115
110
|
|
|
116
111
|
# Unescapes HTTP reserved and unwise characters in +str+
|
|
117
112
|
def unescape_uri(str)
|
|
118
113
|
str = str.dup
|
|
119
114
|
str = binary_encode(str)
|
|
120
|
-
str.gsub(ESCAPED) {
|
|
115
|
+
str.gsub(ESCAPED) { ::Regexp.last_match(1).hex.chr }
|
|
121
116
|
end
|
|
122
117
|
|
|
123
118
|
# Unescape form encoded values in +str+
|
|
124
119
|
def unescape_form(str)
|
|
125
120
|
str = str.dup
|
|
126
121
|
str = binary_encode(str)
|
|
127
|
-
str.
|
|
128
|
-
str.gsub(ESCAPED) {
|
|
122
|
+
str.tr!('+', ' ')
|
|
123
|
+
str.gsub(ESCAPED) { ::Regexp.last_match(1).hex.chr }
|
|
129
124
|
end
|
|
130
125
|
|
|
131
126
|
# Performs validation on the passed header hash and returns a string representation of the headers
|
|
132
127
|
def headers_hash_to_s(headers)
|
|
133
|
-
headers_str =
|
|
128
|
+
headers_str = +''
|
|
134
129
|
headers.each do |key, values|
|
|
135
|
-
if key.to_s.match(/[\r\n]/)
|
|
136
|
-
raise Excon::Errors::InvalidHeaderKey
|
|
130
|
+
if key.to_s.match?(/[\r\n]/)
|
|
131
|
+
raise Excon::Errors::InvalidHeaderKey, "#{key.to_s.inspect} contains forbidden \"\\r\" or \"\\n\""
|
|
137
132
|
end
|
|
133
|
+
|
|
138
134
|
[values].flatten.each do |value|
|
|
139
|
-
if value.to_s.match(/[\r\n]/)
|
|
135
|
+
if value.to_s.match?(/[\r\n]/)
|
|
140
136
|
# Don't include the potentially sensitive header value (i.e. authorization token) in the message
|
|
141
|
-
raise Excon::Errors::InvalidHeaderValue
|
|
137
|
+
raise Excon::Errors::InvalidHeaderValue, "#{key} header value contains forbidden \"\\r\" or \"\\n\""
|
|
142
138
|
end
|
|
139
|
+
|
|
143
140
|
headers_str << key.to_s << ': ' << value.to_s << CR_NL
|
|
144
141
|
end
|
|
145
142
|
end
|
data/lib/excon/version.rb
CHANGED
data/lib/excon.rb
CHANGED
metadata
CHANGED
|
@@ -1,31 +1,30 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: excon
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.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:
|
|
11
10
|
bindir: bin
|
|
12
11
|
cert_chain: []
|
|
13
|
-
date:
|
|
12
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
14
13
|
dependencies:
|
|
15
14
|
- !ruby/object:Gem::Dependency
|
|
16
|
-
name:
|
|
15
|
+
name: logger
|
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
|
18
17
|
requirements:
|
|
19
18
|
- - ">="
|
|
20
19
|
- !ruby/object:Gem::Version
|
|
21
|
-
version:
|
|
22
|
-
type: :
|
|
20
|
+
version: '0'
|
|
21
|
+
type: :runtime
|
|
23
22
|
prerelease: false
|
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
24
|
requirements:
|
|
26
25
|
- - ">="
|
|
27
26
|
- !ruby/object:Gem::Version
|
|
28
|
-
version:
|
|
27
|
+
version: '0'
|
|
29
28
|
- !ruby/object:Gem::Dependency
|
|
30
29
|
name: activesupport
|
|
31
30
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -68,6 +67,20 @@ dependencies:
|
|
|
68
67
|
- - ">="
|
|
69
68
|
- !ruby/object:Gem::Version
|
|
70
69
|
version: 1.0.4
|
|
70
|
+
- !ruby/object:Gem::Dependency
|
|
71
|
+
name: json
|
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
|
73
|
+
requirements:
|
|
74
|
+
- - ">="
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: 1.8.5
|
|
77
|
+
type: :development
|
|
78
|
+
prerelease: false
|
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
80
|
+
requirements:
|
|
81
|
+
- - ">="
|
|
82
|
+
- !ruby/object:Gem::Version
|
|
83
|
+
version: 1.8.5
|
|
71
84
|
- !ruby/object:Gem::Dependency
|
|
72
85
|
name: open4
|
|
73
86
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -83,7 +96,7 @@ dependencies:
|
|
|
83
96
|
- !ruby/object:Gem::Version
|
|
84
97
|
version: '0'
|
|
85
98
|
- !ruby/object:Gem::Dependency
|
|
86
|
-
name:
|
|
99
|
+
name: puma
|
|
87
100
|
requirement: !ruby/object:Gem::Requirement
|
|
88
101
|
requirements:
|
|
89
102
|
- - ">="
|
|
@@ -97,7 +110,7 @@ dependencies:
|
|
|
97
110
|
- !ruby/object:Gem::Version
|
|
98
111
|
version: '0'
|
|
99
112
|
- !ruby/object:Gem::Dependency
|
|
100
|
-
name:
|
|
113
|
+
name: rake
|
|
101
114
|
requirement: !ruby/object:Gem::Requirement
|
|
102
115
|
requirements:
|
|
103
116
|
- - ">="
|
|
@@ -111,7 +124,7 @@ dependencies:
|
|
|
111
124
|
- !ruby/object:Gem::Version
|
|
112
125
|
version: '0'
|
|
113
126
|
- !ruby/object:Gem::Dependency
|
|
114
|
-
name:
|
|
127
|
+
name: rdoc
|
|
115
128
|
requirement: !ruby/object:Gem::Requirement
|
|
116
129
|
requirements:
|
|
117
130
|
- - ">="
|
|
@@ -125,7 +138,21 @@ dependencies:
|
|
|
125
138
|
- !ruby/object:Gem::Version
|
|
126
139
|
version: '0'
|
|
127
140
|
- !ruby/object:Gem::Dependency
|
|
128
|
-
name:
|
|
141
|
+
name: rspec
|
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
|
143
|
+
requirements:
|
|
144
|
+
- - ">="
|
|
145
|
+
- !ruby/object:Gem::Version
|
|
146
|
+
version: 3.5.0
|
|
147
|
+
type: :development
|
|
148
|
+
prerelease: false
|
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
150
|
+
requirements:
|
|
151
|
+
- - ">="
|
|
152
|
+
- !ruby/object:Gem::Version
|
|
153
|
+
version: 3.5.0
|
|
154
|
+
- !ruby/object:Gem::Dependency
|
|
155
|
+
name: shindo
|
|
129
156
|
requirement: !ruby/object:Gem::Requirement
|
|
130
157
|
requirements:
|
|
131
158
|
- - ">="
|
|
@@ -139,21 +166,21 @@ dependencies:
|
|
|
139
166
|
- !ruby/object:Gem::Version
|
|
140
167
|
version: '0'
|
|
141
168
|
- !ruby/object:Gem::Dependency
|
|
142
|
-
name:
|
|
169
|
+
name: sinatra
|
|
143
170
|
requirement: !ruby/object:Gem::Requirement
|
|
144
171
|
requirements:
|
|
145
172
|
- - ">="
|
|
146
173
|
- !ruby/object:Gem::Version
|
|
147
|
-
version:
|
|
174
|
+
version: '0'
|
|
148
175
|
type: :development
|
|
149
176
|
prerelease: false
|
|
150
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
151
178
|
requirements:
|
|
152
179
|
- - ">="
|
|
153
180
|
- !ruby/object:Gem::Version
|
|
154
|
-
version:
|
|
181
|
+
version: '0'
|
|
155
182
|
- !ruby/object:Gem::Dependency
|
|
156
|
-
name:
|
|
183
|
+
name: sinatra-contrib
|
|
157
184
|
requirement: !ruby/object:Gem::Requirement
|
|
158
185
|
requirements:
|
|
159
186
|
- - ">="
|
|
@@ -185,9 +212,9 @@ email: geemus@gmail.com
|
|
|
185
212
|
executables: []
|
|
186
213
|
extensions: []
|
|
187
214
|
extra_rdoc_files:
|
|
188
|
-
- README.md
|
|
189
|
-
- CONTRIBUTORS.md
|
|
190
215
|
- CONTRIBUTING.md
|
|
216
|
+
- CONTRIBUTORS.md
|
|
217
|
+
- README.md
|
|
191
218
|
files:
|
|
192
219
|
- CONTRIBUTING.md
|
|
193
220
|
- CONTRIBUTORS.md
|
|
@@ -229,13 +256,13 @@ homepage: https://github.com/excon/excon
|
|
|
229
256
|
licenses:
|
|
230
257
|
- MIT
|
|
231
258
|
metadata:
|
|
232
|
-
homepage_uri: https://github.com/excon/excon
|
|
233
259
|
bug_tracker_uri: https://github.com/excon/excon/issues
|
|
234
260
|
changelog_uri: https://github.com/excon/excon/blob/master/changelog.txt
|
|
235
261
|
documentation_uri: https://github.com/excon/excon/blob/master/README.md
|
|
262
|
+
funding_uri: https://github.com/sponsors/geemus
|
|
263
|
+
homepage_uri: https://github.com/excon/excon
|
|
236
264
|
source_code_uri: https://github.com/excon/excon
|
|
237
265
|
wiki_uri: https://github.com/excon/excon/wiki
|
|
238
|
-
post_install_message:
|
|
239
266
|
rdoc_options:
|
|
240
267
|
- "--charset=UTF-8"
|
|
241
268
|
require_paths:
|
|
@@ -244,15 +271,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
244
271
|
requirements:
|
|
245
272
|
- - ">="
|
|
246
273
|
- !ruby/object:Gem::Version
|
|
247
|
-
version:
|
|
274
|
+
version: 3.1.0
|
|
248
275
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
249
276
|
requirements:
|
|
250
277
|
- - ">="
|
|
251
278
|
- !ruby/object:Gem::Version
|
|
252
279
|
version: '0'
|
|
253
280
|
requirements: []
|
|
254
|
-
rubygems_version: 3.
|
|
255
|
-
signing_key:
|
|
281
|
+
rubygems_version: 3.6.9
|
|
256
282
|
specification_version: 4
|
|
257
283
|
summary: speed, persistence, http(s)
|
|
258
284
|
test_files: []
|