summaryrefslogtreecommitdiff
path: root/deps/undici/src/lib/fetch/response.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/undici/src/lib/fetch/response.js')
-rw-r--r--deps/undici/src/lib/fetch/response.js27
1 files changed, 14 insertions, 13 deletions
diff --git a/deps/undici/src/lib/fetch/response.js b/deps/undici/src/lib/fetch/response.js
index 64fc3170da..b8aa4897c1 100644
--- a/deps/undici/src/lib/fetch/response.js
+++ b/deps/undici/src/lib/fetch/response.js
@@ -81,7 +81,7 @@ class Response {
const value = parsedURL.toString()
// 7. Append `Location`/value to responseObject’s response’s header list.
- responseObject[kState].headersList.push('location', value)
+ responseObject[kState].headersList.append('location', value)
// 8. Return responseObject.
return responseObject
@@ -172,7 +172,7 @@ class Response {
// not contain `Content-Type`, then append `Content-Type`/Content-Type
// to this’s response’s header list.
if (contentType && !this.headers.has('content-type')) {
- this.headers.set('content-type', contentType)
+ this.headers.append('content-type', contentType)
}
}
}
@@ -350,7 +350,7 @@ function makeResponse (init) {
statusText: '',
...init,
headersList: init.headersList
- ? new HeadersList(...init.headersList)
+ ? new HeadersList(init.headersList)
: new HeadersList(),
urlList: init.urlList ? [...init.urlList] : []
}
@@ -393,17 +393,15 @@ function makeFilteredHeadersList (headersList, filter) {
get (target, prop) {
// Override methods used by Headers class.
if (prop === 'get' || prop === 'has') {
- return (name) => filter(name) ? target[prop](name) : undefined
- } else if (prop === 'slice') {
- return (...args) => {
- assert(args.length === 0)
- const arr = []
- for (let index = 0; index < target.length; index += 2) {
- if (filter(target[index])) {
- arr.push(target[index], target[index + 1])
+ const defaultReturn = prop === 'has' ? false : null
+ return (name) => filter(name) ? target[prop](name) : defaultReturn
+ } else if (prop === Symbol.iterator) {
+ return function * () {
+ for (const entry of target) {
+ if (filter(entry[0])) {
+ yield entry
}
}
- return arr
}
} else {
return target[prop]
@@ -423,7 +421,10 @@ function filterResponse (response, type) {
return makeFilteredResponse(response, {
type: 'basic',
- headersList: makeFilteredHeadersList(response.headersList, (name) => !forbiddenResponseHeaderNames.includes(name))
+ headersList: makeFilteredHeadersList(
+ response.headersList,
+ (name) => !forbiddenResponseHeaderNames.includes(name.toLowerCase())
+ )
})
} else if (type === 'cors') {
// A CORS filtered response is a filtered response whose type is "cors"