@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 +2 -2
- package/lib/utils.js +4 -32
- package/package.json +1 -1
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 &&
|
|
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 &&
|
|
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
|
-
|
|
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 {
|