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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user