summaryrefslogtreecommitdiff
path: root/ext/fetch/23_response.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fetch/23_response.js')
-rw-r--r--ext/fetch/23_response.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/ext/fetch/23_response.js b/ext/fetch/23_response.js
index 14aadbaf2..4dc56dd8f 100644
--- a/ext/fetch/23_response.js
+++ b/ext/fetch/23_response.js
@@ -37,6 +37,7 @@
RangeError,
RegExp,
RegExpPrototypeTest,
+ SafeArrayIterator,
Symbol,
SymbolFor,
TypeError,
@@ -45,7 +46,11 @@
const VCHAR = ["\x21-\x7E"];
const OBS_TEXT = ["\x80-\xFF"];
- const REASON_PHRASE = [...HTTP_TAB_OR_SPACE, ...VCHAR, ...OBS_TEXT];
+ const REASON_PHRASE = [
+ ...new SafeArrayIterator(HTTP_TAB_OR_SPACE),
+ ...new SafeArrayIterator(VCHAR),
+ ...new SafeArrayIterator(OBS_TEXT),
+ ];
const REASON_PHRASE_MATCHER = regexMatcher(REASON_PHRASE);
const REASON_PHRASE_RE = new RegExp(`^[${REASON_PHRASE_MATCHER}]*$`);
@@ -90,9 +95,11 @@
* @returns {InnerResponse}
*/
function cloneInnerResponse(response) {
- const urlList = [...response.urlList];
+ const urlList = [...new SafeArrayIterator(response.urlList)];
const headerList = [
- ...ArrayPrototypeMap(response.headerList, (x) => [x[0], x[1]]),
+ ...new SafeArrayIterator(
+ ArrayPrototypeMap(response.headerList, (x) => [x[0], x[1]]),
+ ),
];
let body = null;
if (response.body !== null) {