diff --git a/fetch.js b/fetch.js index ecd719f0..53c509da 100644 --- a/fetch.js +++ b/fetch.js @@ -547,9 +547,15 @@ export function fetch(input, init) { } } - request.headers.forEach(function(value, name) { - xhr.setRequestHeader(name, value) - }) + if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) { + Object.getOwnPropertyNames(init.headers).forEach(function(name) { + xhr.setRequestHeader(name, normalizeValue(init.headers[name])) + }) + } else { + request.headers.forEach(function(value, name) { + xhr.setRequestHeader(name, value) + }) + } if (request.signal) { request.signal.addEventListener('abort', abortXhr)