@nxtedition/lib 23.5.9 → 23.5.11
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 +10 -10
- 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
|
@@ -168,15 +168,15 @@ export async function requestMiddleware(ctx, next) {
|
|
|
168
168
|
if (isHealthcheck) {
|
|
169
169
|
// Do nothing...
|
|
170
170
|
} else if (res.errored) {
|
|
171
|
-
logger.error({ err: res.errored,
|
|
171
|
+
logger.error({ err: res.errored, res, elapsedTime }, 'request error')
|
|
172
172
|
} else if (!res.writableEnded) {
|
|
173
|
-
logger.debug({
|
|
173
|
+
logger.debug({ res, elapsedTime }, 'request aborted')
|
|
174
174
|
} else if (res.statusCode >= 500) {
|
|
175
|
-
logger.error({
|
|
175
|
+
logger.error({ res, elapsedTime }, 'request error')
|
|
176
176
|
} else if (res.statusCode >= 400) {
|
|
177
|
-
logger.warn({
|
|
177
|
+
logger.warn({ res, elapsedTime }, 'request failed')
|
|
178
178
|
} else {
|
|
179
|
-
logger.debug({
|
|
179
|
+
logger.debug({ res, elapsedTime }, 'request completed')
|
|
180
180
|
}
|
|
181
181
|
} catch (err) {
|
|
182
182
|
ctx[kAbortController]?.abort(err)
|
|
@@ -231,17 +231,17 @@ export async function requestMiddleware(ctx, next) {
|
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
if (statusCode < 500) {
|
|
234
|
-
logger.warn({
|
|
234
|
+
logger.warn({ res, err, elapsedTime }, 'request failed')
|
|
235
235
|
} else {
|
|
236
|
-
logger.error({
|
|
236
|
+
logger.error({ res, err, elapsedTime }, 'request error')
|
|
237
237
|
}
|
|
238
238
|
} else {
|
|
239
239
|
if (req.aborted || err.name === 'AbortError') {
|
|
240
|
-
logger.debug({
|
|
240
|
+
logger.debug({ res, err, elapsedTime }, 'request aborted')
|
|
241
241
|
} else if (statusCode < 500) {
|
|
242
|
-
logger.warn({
|
|
242
|
+
logger.warn({ res, err, elapsedTime }, 'request failed')
|
|
243
243
|
} else {
|
|
244
|
-
logger.error({
|
|
244
|
+
logger.error({ res, err, elapsedTime }, 'request error')
|
|
245
245
|
}
|
|
246
246
|
res.destroy(err)
|
|
247
247
|
}
|