@nxtedition/lib 21.0.16 → 21.0.17
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/http.js +18 -27
- package/package.json +1 -1
package/http.js
CHANGED
|
@@ -67,24 +67,19 @@ export async function request(ctx, next) {
|
|
|
67
67
|
reqLogger.debug('request started')
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
.on('timeout', onResponseTimeout)
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
resolve(null)
|
|
82
|
-
ac.abort()
|
|
83
|
-
})
|
|
84
|
-
}),
|
|
85
|
-
])
|
|
70
|
+
try {
|
|
71
|
+
await Promise.all([
|
|
72
|
+
next(),
|
|
73
|
+
new Promise((resolve, reject) => {
|
|
74
|
+
req.on('timeout', onRequestTimeout).on('error', reject)
|
|
75
|
+
res.on('timeout', onResponseTimeout).on('error', reject).on('close', resolve)
|
|
76
|
+
}),
|
|
77
|
+
])
|
|
78
|
+
} finally {
|
|
79
|
+
ac.abort()
|
|
80
|
+
}
|
|
86
81
|
|
|
87
|
-
const elapsedTime = Math.
|
|
82
|
+
const elapsedTime = Math.ceil(performance.now() - startTime)
|
|
88
83
|
|
|
89
84
|
if (isHealthcheck) {
|
|
90
85
|
// Do nothing...
|
|
@@ -99,7 +94,7 @@ export async function request(ctx, next) {
|
|
|
99
94
|
}
|
|
100
95
|
} catch (err) {
|
|
101
96
|
const statusCode = err.statusCode || err.$metadata?.httpStatusCode || 500
|
|
102
|
-
const responseTime = Math.
|
|
97
|
+
const responseTime = Math.ceil(performance.now() - startTime)
|
|
103
98
|
|
|
104
99
|
if (!res.headersSent && !res.destroyed) {
|
|
105
100
|
res.statusCode = statusCode
|
|
@@ -129,24 +124,20 @@ export async function request(ctx, next) {
|
|
|
129
124
|
res.write(JSON.stringify(err.body))
|
|
130
125
|
}
|
|
131
126
|
|
|
132
|
-
reqLogger = reqLogger.child({ res, err, responseTime })
|
|
133
|
-
|
|
134
127
|
if (statusCode < 500) {
|
|
135
|
-
reqLogger.warn('request failed')
|
|
128
|
+
reqLogger.warn({ res, err, responseTime }, 'request failed')
|
|
136
129
|
} else {
|
|
137
|
-
reqLogger.error('request error')
|
|
130
|
+
reqLogger.error({ res, err, responseTime }, 'request error')
|
|
138
131
|
}
|
|
139
132
|
|
|
140
133
|
res.end()
|
|
141
134
|
} else {
|
|
142
|
-
reqLogger = reqLogger.child({ res, err, responseTime })
|
|
143
|
-
|
|
144
135
|
if (req.aborted || !res.writableEnded || err.name === 'AbortError') {
|
|
145
|
-
reqLogger.debug('request aborted')
|
|
136
|
+
reqLogger.debug({ res, err, responseTime }, 'request aborted')
|
|
146
137
|
} else if (statusCode < 500) {
|
|
147
|
-
reqLogger.warn('request failed')
|
|
138
|
+
reqLogger.warn({ res, err, responseTime }, 'request failed')
|
|
148
139
|
} else {
|
|
149
|
-
reqLogger.error('request error')
|
|
140
|
+
reqLogger.error({ res, err, responseTime }, 'request error')
|
|
150
141
|
}
|
|
151
142
|
|
|
152
143
|
if (!res.writableEnded) {
|