@nxtedition/lib 23.5.10 → 23.5.12
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/cache.js +4 -2
- package/errors.js +23 -3
- package/http.js +1 -1
- package/package.json +1 -1
package/cache.js
CHANGED
|
@@ -58,11 +58,13 @@ export class AsyncCache {
|
|
|
58
58
|
let cached = this.#lru.get(key)
|
|
59
59
|
|
|
60
60
|
if (cached) {
|
|
61
|
-
|
|
61
|
+
const now = Date.now()
|
|
62
|
+
|
|
63
|
+
if (now < cached.expire) {
|
|
62
64
|
return cached.value
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
if (
|
|
67
|
+
if (now - cached.expire >= this.#stale(cached.value, key)) {
|
|
66
68
|
// stale-while-revalidate has also expired, dont use cached value
|
|
67
69
|
cached = null
|
|
68
70
|
}
|
package/errors.js
CHANGED
|
@@ -95,9 +95,9 @@ function _serializeError(error, { depth }) {
|
|
|
95
95
|
message = msg,
|
|
96
96
|
errors,
|
|
97
97
|
code,
|
|
98
|
-
exitCode =
|
|
98
|
+
exitCode = Number(code),
|
|
99
99
|
signal,
|
|
100
|
-
signalCode = signal,
|
|
100
|
+
signalCode = Number(signal),
|
|
101
101
|
cause,
|
|
102
102
|
body,
|
|
103
103
|
status,
|
|
@@ -106,6 +106,26 @@ function _serializeError(error, { depth }) {
|
|
|
106
106
|
...properties
|
|
107
107
|
} = error
|
|
108
108
|
|
|
109
|
+
if (typeof message !== 'string') {
|
|
110
|
+
message = undefined
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (!Number.isInteger(exitCode)) {
|
|
114
|
+
exitCode = undefined
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (!Number.isInteger(signalCode)) {
|
|
118
|
+
signalCode = undefined
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if (!Number.isInteger(statusCode)) {
|
|
122
|
+
statusCode = undefined
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (!fp.isPlainObject(headers)) {
|
|
126
|
+
headers = undefined
|
|
127
|
+
}
|
|
128
|
+
|
|
109
129
|
if (typeof signal === 'number') {
|
|
110
130
|
signal = SIGNALS[signal] ?? signal
|
|
111
131
|
}
|
|
@@ -128,7 +148,7 @@ function _serializeError(error, { depth }) {
|
|
|
128
148
|
...properties,
|
|
129
149
|
message: message ?? 'Unknown error',
|
|
130
150
|
type: type !== 'Object' ? type : undefined,
|
|
131
|
-
code: code
|
|
151
|
+
code: code ? `${code}` : undefined,
|
|
132
152
|
exitCode: exitCode ?? undefined,
|
|
133
153
|
signalCode: signalCode ?? undefined,
|
|
134
154
|
statusCode: statusCode ?? undefined,
|
package/http.js
CHANGED
|
@@ -236,7 +236,7 @@ export async function requestMiddleware(ctx, next) {
|
|
|
236
236
|
logger.error({ res, err, elapsedTime }, 'request error')
|
|
237
237
|
}
|
|
238
238
|
} else {
|
|
239
|
-
if (req.aborted || err.name === 'AbortError') {
|
|
239
|
+
if (req.aborted || (!res.errored && res.closed) || err.name === 'AbortError') {
|
|
240
240
|
logger.debug({ res, err, elapsedTime }, 'request aborted')
|
|
241
241
|
} else if (statusCode < 500) {
|
|
242
242
|
logger.warn({ res, err, elapsedTime }, 'request failed')
|