excon 0.103.0 → 0.104.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 +10 -0
- data/lib/excon/constants.rb +2 -0
- data/lib/excon/socket.rb +10 -3
- data/lib/excon/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5178f794971246bbfa44097a97594cb9480a13ff11b9884c1fa1ac79e94c0a6
|
4
|
+
data.tar.gz: c5ea1c85e77eddba09b655f18ad415f03eb824481e562ee88c0c756850c61463
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 210b6c6ca9be3b3668f9f24c509f95e6a41533c9f0290ccd4a967f92fed1f335f837ce8ff52b8bcc3d5fb3d21d236ed179a67d70df2c8c0202a3772a282c5840
|
7
|
+
data.tar.gz: a1cf5fdb74468a879741b482bef3734e74b4c390551cbfbad7762b06bb892877a30255d872c27404ee0e0f137ad208c7fa73b167fb64fdddaffe063e8a3eb5bb
|
data/README.md
CHANGED
@@ -192,10 +192,20 @@ connection = Excon.new('http://geemus.com/', :connect_timeout => 360)
|
|
192
192
|
# opt-out of nonblocking operations for performance and/or as a workaround
|
193
193
|
connection = Excon.new('http://geemus.com/', :nonblock => false)
|
194
194
|
|
195
|
+
# DEPRECATED in favour of `resolv_resolver` (see below)
|
195
196
|
# set up desired dns_timeouts for resolving addresses (default is set by Resolv)
|
196
197
|
# it accepts an integer or an array of integers for retrying with different timeouts
|
197
198
|
# see Resolv::DNS#timeouts for more details (https://ruby-doc.org/3.2.2/stdlibs/resolv/Resolv/DNS.html#method-i-timeouts-3D)
|
198
199
|
connection = Excon.new('http://geemus.com/', :dns_timeouts => 3)
|
200
|
+
|
201
|
+
# set a custom resolver for Resolv
|
202
|
+
# you can use custom nameservers and timeouts
|
203
|
+
# `timeouts` accepts an integer or an array of integers for retrying with different timeouts
|
204
|
+
# see Resolv::DNS#timeouts for more details (https://ruby-doc.org/3.2.2/stdlibs/resolv/Resolv/DNS.html#method-i-timeouts-3D)
|
205
|
+
dns_resolver = Resolv::DNS.new(nameserver: ['127.0.0.1'])
|
206
|
+
dns_resolver.timeouts = 3
|
207
|
+
resolver = Resolv.new([Resolv::Hosts.new, dns_resolver])
|
208
|
+
connection = Excon.new('http://geemus.com', :resolv_resolver => resolver)
|
199
209
|
```
|
200
210
|
|
201
211
|
## Chunked Requests
|
data/lib/excon/constants.rb
CHANGED
@@ -59,6 +59,7 @@ module Excon
|
|
59
59
|
:query,
|
60
60
|
:read_timeout,
|
61
61
|
:request_block,
|
62
|
+
:resolv_resolver,
|
62
63
|
:response_block,
|
63
64
|
:stubs,
|
64
65
|
:user,
|
@@ -162,6 +163,7 @@ module Excon
|
|
162
163
|
:omit_default_port => false,
|
163
164
|
:persistent => false,
|
164
165
|
:read_timeout => 60,
|
166
|
+
:resolv_resolver => nil,
|
165
167
|
:retry_errors => DEFAULT_RETRY_ERRORS,
|
166
168
|
:retry_limit => DEFAULT_RETRY_LIMIT,
|
167
169
|
:ssl_verify_peer => true,
|
data/lib/excon/socket.rb
CHANGED
@@ -121,9 +121,16 @@ module Excon
|
|
121
121
|
family = @data[:proxy][:family]
|
122
122
|
end
|
123
123
|
|
124
|
-
|
125
|
-
|
126
|
-
|
124
|
+
resolver = @data[:resolv_resolver] || Resolv.new
|
125
|
+
|
126
|
+
# Deprecated
|
127
|
+
if @data[:dns_timeouts]
|
128
|
+
Excon.display_warning('dns_timeouts is deprecated, use resolv_resolver instead.')
|
129
|
+
dns_resolver = Resolv::DNS.new
|
130
|
+
dns_resolver.timeouts = @data[:dns_timeouts]
|
131
|
+
resolver = Resolv.new([Resolv::Hosts.new, dns_resolver])
|
132
|
+
end
|
133
|
+
|
127
134
|
resolver.each_address(hostname) do |ip|
|
128
135
|
# already succeeded on previous addrinfo
|
129
136
|
if @socket
|
data/lib/excon/version.rb
CHANGED
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.
|
4
|
+
version: 0.104.0
|
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: 2023-09-
|
13
|
+
date: 2023-09-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec
|