@nxtedition/lib 15.0.18 → 15.0.20

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 CHANGED
@@ -40,7 +40,7 @@ module.exports.request = async function request(ctx, next) {
40
40
  }
41
41
 
42
42
  ctx.id = req.id = req.headers['request-id'] || genReqId()
43
- ctx.logger = req.log = logger.child({ req: { id: req.id, url: req.url } })
43
+ ctx.logger = req.log = logger.child({ req })
44
44
  ctx.signal = signal
45
45
  ctx.method = req.method
46
46
  ctx.query = ctx.url.search ? querystring.parse(ctx.url.search.slice(1)) : {}
@@ -89,8 +89,6 @@ module.exports.request = async function request(ctx, next) {
89
89
  } catch (err) {
90
90
  const responseTime = Math.round(performance.now() - startTime)
91
91
 
92
- reqLogger = reqLogger.child({ req, res, err, responseTime })
93
-
94
92
  req.on('error', (err) => {
95
93
  if (res.statusCode > 500 || err.code !== 'ECONNRESET') {
96
94
  reqLogger.warn({ err }, 'request error')
@@ -129,14 +127,16 @@ module.exports.request = async function request(ctx, next) {
129
127
  res.write(JSON.stringify(err.body))
130
128
  }
131
129
 
132
- if (res.statusCode >= 500) {
133
- reqLogger.error('request error')
134
- } else if (res.statusCode >= 400) {
130
+ reqLogger = reqLogger.child({ res, err, responseTime })
131
+ if (res.statusCode < 500) {
135
132
  reqLogger.warn('request failed')
133
+ } else {
134
+ reqLogger.error('request error')
136
135
  }
137
136
 
138
137
  res.end()
139
138
  } else {
139
+ reqLogger = reqLogger.child({ res, err, responseTime })
140
140
  if (req.aborted || err.name === 'AbortError') {
141
141
  reqLogger.debug('request aborted')
142
142
  } else if (err.statusCode < 500) {
@@ -206,7 +206,7 @@ module.exports.createServer = function (options, ctx, middleware) {
206
206
  requestTimeout: 0,
207
207
  ...options,
208
208
  },
209
- (req, res) => middleware({ req, res, ...factory() })
209
+ (req, res) => middleware({ req, res, ...factory() }),
210
210
  )
211
211
 
212
212
  server.setTimeout(2 * 60e3)
@@ -235,11 +235,11 @@ module.exports.upgrade = async function upgrade(ctx, next) {
235
235
  }
236
236
 
237
237
  ctx.id = req.id = req.headers['request-id'] || genReqId()
238
- ctx.logger = req.log = logger.child({ req: { id: req.id, method: req.method, url: req.url } })
238
+ ctx.logger = req.log = logger.child({ req })
239
239
  ctx.signal = signal
240
240
  ctx.query = ctx.url?.search ? querystring.parse(ctx.url.search.slice(1)) : {}
241
241
 
242
- reqLogger = logger.child({ req })
242
+ reqLogger = logger
243
243
  reqLogger.debug('stream started')
244
244
 
245
245
  socket.on('error', (err) => {
@@ -256,7 +256,7 @@ module.exports.upgrade = async function upgrade(ctx, next) {
256
256
  .on('error', reject)
257
257
  .on('timeout', () => {
258
258
  reject(new createError.RequestTimeout())
259
- })
259
+ }),
260
260
  ),
261
261
  new Promise((resolve, reject) =>
262
262
  socket
@@ -264,7 +264,7 @@ module.exports.upgrade = async function upgrade(ctx, next) {
264
264
  .on('error', reject)
265
265
  .on('timeout', () => {
266
266
  reject(new createError.RequestTimeout())
267
- })
267
+ }),
268
268
  ),
269
269
  next(),
270
270
  ])
@@ -62,7 +62,7 @@ function retryAfter(err, retryCount, opts) {
62
62
 
63
63
  if (err.statusCode && [420, 429, 502, 503, 504].includes(err.statusCode)) {
64
64
  const retryAfter = err.headers['retry-after'] ? err.headers['retry-after'] * 1e3 : null
65
- return retryAfter ?? Math.min(10e3, retryCount * 1e3)
65
+ return Number.isFinite(retryAfter) ? retryAfter : Math.min(10e3, retryCount * 1e3)
66
66
  }
67
67
 
68
68
  if (
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/lib",
3
- "version": "15.0.18",
3
+ "version": "15.0.20",
4
4
  "license": "MIT",
5
5
  "author": "Robert Nagy <robert.nagy@boffins.se>",
6
6
  "files": [