@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 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
- err = new AbortError()
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,
@@ -66,4 +66,7 @@ class Handler {
66
66
  }
67
67
  }
68
68
 
69
- module.exports = (dispatch) => (opts, handler) => dispatch(opts, new Handler(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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/nxt-undici",
3
- "version": "1.0.12",
3
+ "version": "1.1.0",
4
4
  "license": "MIT",
5
5
  "author": "Robert Nagy <robert.nagy@boffins.se>",
6
6
  "main": "lib/index.js",