fetch 2.0.0
This changes the behavior of Headers regarding handling of headers with multiple values. Most notably, it removes the Headers.getAll()
method. This diverges from the native implementations of Chrome and Firefox, since those vendors implement an earlier, now outdated version of the spec. The polyfill now acts more similar to Microsoft Edge implementation.
Consider this Headers object:
var h = new Headers()
h.append('accept', 'text/html')
h.append('accept', 'text/plain')
h.append('content-type', 'application/json')
Before:
h.get('accept')
returnedtext/html
h.getAll('accept')
returned an array of valuesh.forEach
(and other iterables) did distinct iterations for each
value of the same header
Now:
h.get('accept')
returnstext/html,text/plain
h.getAll()
is no moreh.forEach()
(and other iterables) now only do one iteration for each unique header name, regardless of whether it had multiple values
This is in accordance with Section 3.1.2 of the spec, "combine" concept.