Skip to content

Commit a5f03dc

Browse files
committed
fix: removed p-timeout usage
1 parent 33e8ba9 commit a5f03dc

File tree

2 files changed

+7
-11
lines changed

2 files changed

+7
-11
lines changed

index.js

+7-10
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ const ipaddr = require('ipaddr.js');
1414
const isStream = require('is-stream');
1515
const mergeOptions = require('merge-options');
1616
const pMap = require('p-map');
17-
const pTimeout = require('p-timeout');
1817
const pWaitFor = require('p-wait-for');
1918
const packet = require('dns-packet');
2019
const semver = require('semver');
@@ -109,8 +108,6 @@ class Tangerine extends dns.promises.Resolver {
109108
let err;
110109
if (errors.length === 1) {
111110
err = errors[0];
112-
} else if (errors.every((e) => e instanceof pTimeout.TimeoutError)) {
113-
err = errors[0];
114111
} else {
115112
err = new Error(
116113
[...new Set(errors.map((e) => e.message).filter(Boolean))].join('; ')
@@ -1043,7 +1040,7 @@ class Tangerine extends dns.promises.Resolver {
10431040
//
10441041
async #request(pkt, server, abortController, timeout = this.options.timeout) {
10451042
// safeguard in case aborted
1046-
if (abortController?.signal?.aborted) return;
1043+
abortController?.signal?.throwIfAborted();
10471044

10481045
let localAddress;
10491046
let localPort;
@@ -1067,15 +1064,17 @@ class Tangerine extends dns.promises.Resolver {
10671064
// <https://github.com/hildjj/dohdec/blob/43564118c40f2127af871bdb4d40f615409d4b9c/pkg/dohdec/lib/doh.js#L117-L120>
10681065
if (this.options.requestOptions.method.toLowerCase() === 'get') {
10691066
if (!dohdec) await pWaitFor(() => Boolean(dohdec));
1067+
// safeguard in case aborted
1068+
abortController?.signal?.throwIfAborted();
10701069
url += `?dns=${dohdec.DNSoverHTTPS.base64urlEncode(pkt)}`;
10711070
} else {
10721071
options.body = pkt;
10731072
}
10741073

10751074
debug('request', { url, options });
1076-
const response = await pTimeout(this.request(url, options), timeout, {
1077-
signal: abortController.signal
1078-
});
1075+
const t = setTimeout(() => abortController.abort(), timeout);
1076+
const response = await this.request(url, options);
1077+
clearTimeout(t);
10791078
return response;
10801079
}
10811080

@@ -1237,9 +1236,7 @@ class Tangerine extends dns.promises.Resolver {
12371236
const err = this.constructor.createError(
12381237
name,
12391238
rrtype,
1240-
_err instanceof pTimeout.TimeoutError || _err.name === 'TimeoutError'
1241-
? dns.TIMEOUT
1242-
: _err.code,
1239+
_err.code,
12431240
_err.errno
12441241
);
12451242
// then map it to dns.CONNREFUSED

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
"is-stream": "2.0.1",
2121
"merge-options": "3.0.4",
2222
"p-map": "4",
23-
"p-timeout": "4",
2423
"p-wait-for": "3",
2524
"port-numbers": "6.0.1",
2625
"private-ip": "^3.0.2",

0 commit comments

Comments
 (0)