2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-17 19:21:29 +03:00

fix(headers): fixed support for setting multiple header values from an iterated source; (#6885)

This commit is contained in:
Dmitriy Mozgovoy
2025-04-23 19:24:08 +03:00
committed by GitHub
parent e61a8934d8
commit f7a3b5e0f7
4 changed files with 55 additions and 7 deletions
+6 -1
View File
@@ -101,12 +101,17 @@ class AxiosHeaders {
} else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
setHeaders(parseHeaders(header), valueOrRewrite);
} else if (utils.isObject(header) && utils.isIterable(header)) {
let obj = {}, dest, key;
for (const entry of header) {
if (!utils.isArray(entry)) {
throw TypeError('Object iterator must return a key-value pair');
}
setHeader(entry[1], entry[0], rewrite);
obj[key = entry[0]] = (dest = obj[key]) ?
(utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];
}
setHeaders(obj, valueOrRewrite)
} else {
header != null && setHeader(valueOrRewrite, header, rewrite);
}