Skip to content

Commit 3501408

Browse files
committed
http/client: cqueues.dns path is no longer optional
1 parent a203c3b commit 3501408

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

http/client.lua

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
local monotime = require "cqueues".monotime
22
local ca = require "cqueues.auxlib"
33
local cs = require "cqueues.socket"
4+
local cqueues_dns = require "cqueues.dns"
45
local cqueues_dns_record = require "cqueues.dns.record"
56
local http_tls = require "http.tls"
67
local http_util = require "http.util"
@@ -144,25 +145,23 @@ local function connect(options, timeout)
144145
local path = options.path
145146
local host = options.host
146147
if not path and not http_util.is_ip(host) then
147-
local dns_resolver = options.dns_resolver
148-
if dns_resolver then
149-
local deadline = timeout and monotime()+timeout
150-
local records = {}
151-
if family == nil or family == cs.AF_UNSPEC then
152-
dns_lookup(dns_resolver, host, cqueues_dns_record.AAAA, nil, records, timeout)
153-
dns_lookup(dns_resolver, host, cqueues_dns_record.A, nil, records, deadline and deadline-monotime())
154-
elseif family == cs.AF_INET then
155-
dns_lookup(dns_resolver, host, cqueues_dns_record.A, cqueues_dns_record.A, records, timeout)
156-
elseif family == cs.AF_INET6 then
157-
dns_lookup(dns_resolver, host, cqueues_dns_record.AAAA, cqueues_dns_record.AAAA, records, timeout)
158-
end
159-
local rec = records[1]
160-
if not rec then
161-
return nil, "The name does not resolve for the supplied parameters"
162-
end
163-
host = rec:addr()
164-
timeout = deadline and deadline-monotime()
148+
local dns_resolver = options.dns_resolver or cqueues_dns.getpool()
149+
local deadline = timeout and monotime()+timeout
150+
local records = {}
151+
if family == nil or family == cs.AF_UNSPEC then
152+
dns_lookup(dns_resolver, host, cqueues_dns_record.AAAA, nil, records, timeout)
153+
dns_lookup(dns_resolver, host, cqueues_dns_record.A, nil, records, deadline and deadline-monotime())
154+
elseif family == cs.AF_INET then
155+
dns_lookup(dns_resolver, host, cqueues_dns_record.A, cqueues_dns_record.A, records, timeout)
156+
elseif family == cs.AF_INET6 then
157+
dns_lookup(dns_resolver, host, cqueues_dns_record.AAAA, cqueues_dns_record.AAAA, records, timeout)
158+
end
159+
local rec = records[1]
160+
if not rec then
161+
return nil, "The name does not resolve for the supplied parameters"
165162
end
163+
host = rec:addr()
164+
timeout = deadline and deadline-monotime()
166165
end
167166

168167
local s, err, errno = ca.fileresult(cs.connect {

0 commit comments

Comments
 (0)