@nxtedition/nxt-undici 2.0.28 → 2.0.30

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/lib/index.js CHANGED
@@ -185,7 +185,7 @@ export async function request(url, opts) {
185
185
  if (statusCode !== 101) {
186
186
  this.abort(createError(statusCode, { headers }))
187
187
  } else {
188
- this.resolve({ headers, socket })
188
+ this.resolve?.({ headers, socket })
189
189
  this.resolve = null
190
190
  }
191
191
  },
@@ -214,7 +214,7 @@ export async function request(url, opts) {
214
214
  size: Number.isFinite(contentLength) ? contentLength : null,
215
215
  })
216
216
 
217
- this.resolve(this.body)
217
+ this.resolve?.(this.body)
218
218
  this.resolve = null
219
219
  this.reject = null
220
220
 
package/lib/utils.js CHANGED
@@ -1,20 +1,11 @@
1
1
  import tp from 'node:timers/promises'
2
2
  import cacheControlParser from 'cache-control-parser'
3
+ import { util } from 'undici'
3
4
 
4
5
  export function parseCacheControl(str) {
5
6
  return str ? cacheControlParser.parse(str) : null
6
7
  }
7
8
 
8
- const lowerCaseCache = new Map()
9
- export function toLowerCase(val) {
10
- let ret = lowerCaseCache.get(val)
11
- if (ret === undefined) {
12
- ret = val.toLowerCase()
13
- lowerCaseCache.set(val, ret)
14
- }
15
- return ret
16
- }
17
-
18
9
  export function isDisturbed(body) {
19
10
  if (
20
11
  body == null ||
@@ -66,7 +57,7 @@ export function findHeader(headers, name) {
66
57
  if (Array.isArray(headers)) {
67
58
  for (let i = 0; i < headers.length; i += 2) {
68
59
  const key = headers[i + 0]
69
- if (key.length === len && toLowerCase(key.toString()) === name) {
60
+ if (key.length === len && util.headerNameToString(key) === name) {
70
61
  return headers[i + 1]?.toString()
71
62
  }
72
63
  }
@@ -77,7 +68,7 @@ export function findHeader(headers, name) {
77
68
  }
78
69
 
79
70
  for (const key of Object.keys(headers)) {
80
- if (key.length === len && toLowerCase(key) === name) {
71
+ if (key.length === len && util.headerNameToString(key) === name) {
81
72
  return headers[key]?.toString()
82
73
  }
83
74
  }
@@ -208,26 +199,7 @@ export function parseOrigin(url) {
208
199
  }
209
200
 
210
201
  export function parseHeaders(headers, obj = {}) {
211
- for (let i = 0; i < headers.length; i += 2) {
212
- const key = toLowerCase(headers[i].toString())
213
-
214
- let val = obj[key]
215
- if (!val) {
216
- val = headers[i + 1]
217
- if (typeof val === 'string') {
218
- obj[key] = val
219
- } else {
220
- obj[key] = Array.isArray(val) ? val.map((x) => x.toString()) : val.toString()
221
- }
222
- } else {
223
- if (!Array.isArray(val)) {
224
- val = [val]
225
- obj[key] = val
226
- }
227
- val.push(headers[i + 1].toString())
228
- }
229
- }
230
- return obj
202
+ return util.parseHeaders(headers, obj)
231
203
  }
232
204
 
233
205
  export class AbortError extends Error {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/nxt-undici",
3
- "version": "2.0.28",
3
+ "version": "2.0.30",
4
4
  "license": "MIT",
5
5
  "author": "Robert Nagy <robert.nagy@boffins.se>",
6
6
  "main": "lib/index.js",