@nxtedition/nxt-undici 1.0.12 → 1.1.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.
- package/lib/index.js +11 -1
- package/lib/interceptor/abort.js +4 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -25,6 +25,8 @@ const kStatusMessage = Symbol('statusMessage')
|
|
|
25
25
|
const kHeaders = Symbol('headers')
|
|
26
26
|
const kSize = Symbol('size')
|
|
27
27
|
|
|
28
|
+
let ABORT_ERROR
|
|
29
|
+
|
|
28
30
|
class Readable extends stream.Readable {
|
|
29
31
|
constructor({ statusCode, statusMessage, headers, size, abort, highWaterMark, resume }) {
|
|
30
32
|
super(highWaterMark ? { highWaterMark } : undefined)
|
|
@@ -60,7 +62,8 @@ class Readable extends stream.Readable {
|
|
|
60
62
|
|
|
61
63
|
_destroy(err, callback) {
|
|
62
64
|
if (err == null && !this.readableEnded) {
|
|
63
|
-
|
|
65
|
+
ABORT_ERROR ??= new AbortError()
|
|
66
|
+
err = ABORT_ERROR
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
if (err) {
|
|
@@ -214,6 +217,12 @@ async function request(url, opts) {
|
|
|
214
217
|
dispatcherCache.set(dispatcher, dispatch)
|
|
215
218
|
}
|
|
216
219
|
|
|
220
|
+
// TODO (fix): retry support
|
|
221
|
+
let body = opts.body
|
|
222
|
+
if (typeof body === 'function') {
|
|
223
|
+
body = await opts.body({ signal: opts.signal })
|
|
224
|
+
}
|
|
225
|
+
|
|
217
226
|
return new Promise((resolve, reject) =>
|
|
218
227
|
dispatch(
|
|
219
228
|
{
|
|
@@ -226,6 +235,7 @@ async function request(url, opts) {
|
|
|
226
235
|
path: url.path ?? (url.search ? `${url.pathname}${url.search ?? ''}` : url.pathname),
|
|
227
236
|
query: opts.query,
|
|
228
237
|
reset: opts.reset ?? false,
|
|
238
|
+
blocking: opts.blocking ?? false,
|
|
229
239
|
headersTimeout: opts.headersTimeout,
|
|
230
240
|
bodyTimeout: opts.bodyTimeout,
|
|
231
241
|
idempotent,
|
package/lib/interceptor/abort.js
CHANGED
|
@@ -66,4 +66,7 @@ class Handler {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
module.exports = (dispatch) => (opts, handler) =>
|
|
69
|
+
module.exports = (dispatch) => (opts, handler) =>
|
|
70
|
+
opts.method === 'GET' || opts.method === 'HEAD'
|
|
71
|
+
? dispatch(opts, new Handler(opts, { handler }))
|
|
72
|
+
: dispatch(opts, handler)
|