@nxtedition/lib 14.1.16 → 14.1.18
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/package.json +1 -1
- package/undici.js +14 -5
package/package.json
CHANGED
package/undici.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const assert = require('assert')
|
|
2
|
+
const { errorMonitor } = require('node:events')
|
|
2
3
|
const tp = require('timers/promises')
|
|
3
4
|
const xuid = require('xuid')
|
|
4
5
|
const { isReadableNodeStream, readableStreamLength } = require('./stream')
|
|
@@ -73,15 +74,16 @@ module.exports.request = async function request(
|
|
|
73
74
|
}),
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
let upstreamLogger = logger?.child({ ureq })
|
|
77
78
|
|
|
78
|
-
upstreamLogger?.debug(
|
|
79
|
+
upstreamLogger?.debug('upstream request started')
|
|
79
80
|
|
|
80
81
|
try {
|
|
81
82
|
/* eslint-disable no-unreachable-loop */
|
|
82
83
|
for (let retryCount = 0; true; retryCount++) {
|
|
84
|
+
let ures
|
|
83
85
|
try {
|
|
84
|
-
|
|
86
|
+
ures = await undici.request(url, {
|
|
85
87
|
method,
|
|
86
88
|
reset,
|
|
87
89
|
body,
|
|
@@ -94,10 +96,11 @@ module.exports.request = async function request(
|
|
|
94
96
|
bodyTimeout,
|
|
95
97
|
})
|
|
96
98
|
|
|
97
|
-
upstreamLogger?.
|
|
99
|
+
upstreamLogger = upstreamLogger?.child({ ures })
|
|
100
|
+
|
|
101
|
+
upstreamLogger?.debug('upstream request response')
|
|
98
102
|
|
|
99
103
|
if (ures.statusCode >= 300 && ures.statusCode < 400) {
|
|
100
|
-
await ures.body.dump()
|
|
101
104
|
throw new Error('maxRedirections exceeded')
|
|
102
105
|
}
|
|
103
106
|
|
|
@@ -107,10 +110,16 @@ module.exports.request = async function request(
|
|
|
107
110
|
await ures.body.dump()
|
|
108
111
|
}
|
|
109
112
|
|
|
113
|
+
ures.body.on(errorMonitor, (err) => {
|
|
114
|
+
upstreamLogger?.debug({ err }, 'upstream request body failed')
|
|
115
|
+
})
|
|
116
|
+
|
|
110
117
|
// TODO (fix): Wrap response to handle error that can continue with range request...
|
|
111
118
|
|
|
112
119
|
return ures
|
|
113
120
|
} catch (err) {
|
|
121
|
+
await ures?.body.dump()
|
|
122
|
+
|
|
114
123
|
if (retryCount >= maxRetries) {
|
|
115
124
|
throw err
|
|
116
125
|
}
|