@nxtedition/lib 26.0.20 → 26.0.21

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.
Files changed (2) hide show
  1. package/http.js +24 -22
  2. package/package.json +1 -1
package/http.js CHANGED
@@ -144,10 +144,11 @@ export async function upgradeMiddleware(ctx, next) {
144
144
  }
145
145
  })
146
146
 
147
+ const reqLogger = ctx.logger?.child({ req })
147
148
  try {
148
149
  const isHealthcheck = req.url === '/healthcheck' || req.url === '/_up'
149
150
  if (!isHealthcheck) {
150
- ctx.logger?.debug({ req }, 'request started')
151
+ reqLogger?.debug({ req }, 'request started')
151
152
  }
152
153
 
153
154
  const thenable = next()
@@ -165,15 +166,15 @@ export async function upgradeMiddleware(ctx, next) {
165
166
  if (isHealthcheck) {
166
167
  // Do nothing...
167
168
  } else if (socket.errored) {
168
- ctx.logger?.error({ err: socket.errored, req, socket, elapsedTime }, 'stream error')
169
+ reqLogger?.error({ err: socket.errored, req, socket, elapsedTime }, 'stream error')
169
170
  } else if (!socket.writableEnded) {
170
- ctx.logger?.debug({ socket, elapsedTime }, 'stream aborted')
171
+ reqLogger?.debug({ socket, elapsedTime }, 'stream aborted')
171
172
  } else if (socket.statusCode >= 500) {
172
- ctx.logger?.error({ socket, elapsedTime }, 'stream error')
173
+ reqLogger?.error({ socket, elapsedTime }, 'stream error')
173
174
  } else if (socket.statusCode >= 400) {
174
- ctx.logger?.warn({ socket, elapsedTime }, 'stream failed')
175
+ reqLogger?.warn({ socket, elapsedTime }, 'stream failed')
175
176
  } else {
176
- ctx.logger?.debug({ socket, elapsedTime }, 'stream completed')
177
+ reqLogger?.debug({ socket, elapsedTime }, 'stream completed')
177
178
  }
178
179
  } catch (err) {
179
180
  ctx[kAbortController]?.abort(err)
@@ -182,17 +183,17 @@ export async function upgradeMiddleware(ctx, next) {
182
183
  const elapsedTime = performance.now() - startTime
183
184
 
184
185
  if (req.aborted || aborted || (!socket.errored && socket.closed) || err.name === 'AbortError') {
185
- ctx.logger?.debug({ err, req, socket, elapsedTime }, 'stream aborted')
186
+ reqLogger?.debug({ err, req, socket, elapsedTime }, 'stream aborted')
186
187
  } else if (statusCode < 500) {
187
- ctx.logger?.warn({ err, req, socket, elapsedTime }, 'stream failed')
188
+ reqLogger?.warn({ err, req, socket, elapsedTime }, 'stream failed')
188
189
  } else {
189
- ctx.logger?.error({ err, req, socket, elapsedTime }, 'stream error')
190
+ reqLogger?.error({ err, req, socket, elapsedTime }, 'stream error')
190
191
  }
191
192
  socket.destroy(err)
192
193
  } finally {
193
194
  if (!socket.writableEnded && !socket.destroyed) {
194
195
  socket.destroy()
195
- ctx.logger?.warn('socket destroyed')
196
+ reqLogger?.warn('socket destroyed')
196
197
  }
197
198
  }
198
199
  }
@@ -201,10 +202,11 @@ export async function requestMiddleware(ctx, next) {
201
202
  const { req, res, target } = ctx
202
203
  const startTime = performance.now()
203
204
 
205
+ const reqLogger = ctx.logger?.child({ req })
204
206
  try {
205
207
  const isHealthcheck = req.url === '/healthcheck' || req.url === '/_up'
206
208
  if (!isHealthcheck) {
207
- ctx.logger?.debug({ req }, 'request started')
209
+ reqLogger?.debug({ req }, 'request started')
208
210
  }
209
211
 
210
212
  if (!target) {
@@ -254,15 +256,15 @@ export async function requestMiddleware(ctx, next) {
254
256
  if (isHealthcheck) {
255
257
  // Do nothing...
256
258
  } else if (res.errored) {
257
- ctx.logger?.error({ err: res.errored, res, elapsedTime }, 'request error')
259
+ reqLogger?.error({ err: res.errored, res, elapsedTime }, 'request error')
258
260
  } else if (!res.writableEnded) {
259
- ctx.logger?.debug({ res, elapsedTime }, 'request aborted')
261
+ reqLogger?.debug({ res, elapsedTime }, 'request aborted')
260
262
  } else if (res.statusCode >= 500) {
261
- ctx.logger?.error({ res, elapsedTime }, 'request error')
263
+ reqLogger?.error({ res, elapsedTime }, 'request error')
262
264
  } else if (res.statusCode >= 400) {
263
- ctx.logger?.warn({ res, elapsedTime }, 'request failed')
265
+ reqLogger?.warn({ res, elapsedTime }, 'request failed')
264
266
  } else {
265
- ctx.logger?.debug({ res, elapsedTime }, 'request completed')
267
+ reqLogger?.debug({ res, elapsedTime }, 'request completed')
266
268
  }
267
269
  } catch (err) {
268
270
  ctx[kAbortController]?.abort(err)
@@ -302,7 +304,7 @@ export async function requestMiddleware(ctx, next) {
302
304
  }
303
305
  }
304
306
  } else if (err.headers != null) {
305
- ctx.logger?.warn({ req, err }, 'invalid headers')
307
+ reqLogger?.warn({ req, err }, 'invalid headers')
306
308
  }
307
309
 
308
310
  if (fp.isPlainObject(err.body)) {
@@ -317,17 +319,17 @@ export async function requestMiddleware(ctx, next) {
317
319
  }
318
320
 
319
321
  if (statusCode < 500) {
320
- ctx.logger?.warn({ req, res, err, elapsedTime }, 'request failed')
322
+ reqLogger?.warn({ req, res, err, elapsedTime }, 'request failed')
321
323
  } else {
322
- ctx.logger?.error({ req, res, err, elapsedTime }, 'request error')
324
+ reqLogger?.error({ req, res, err, elapsedTime }, 'request error')
323
325
  }
324
326
  } else {
325
327
  if (req.aborted || (!res.errored && res.closed) || err.name === 'AbortError') {
326
- ctx.logger?.debug({ req, res, err, elapsedTime }, 'request aborted')
328
+ reqLogger?.debug({ req, res, err, elapsedTime }, 'request aborted')
327
329
  } else if (statusCode < 500) {
328
- ctx.logger?.warn({ req, res, err, elapsedTime }, 'request failed')
330
+ reqLogger?.warn({ req, res, err, elapsedTime }, 'request failed')
329
331
  } else {
330
- ctx.logger?.error({ req, res, err, elapsedTime }, 'request error')
332
+ reqLogger?.error({ req, res, err, elapsedTime }, 'request error')
331
333
  }
332
334
  res.destroy(err)
333
335
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/lib",
3
- "version": "26.0.20",
3
+ "version": "26.0.21",
4
4
  "license": "MIT",
5
5
  "author": "Robert Nagy <robert.nagy@boffins.se>",
6
6
  "type": "module",