summaryrefslogtreecommitdiff
path: root/ext/fetch/23_response.js
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2022-02-07 13:54:32 +0100
committerGitHub <noreply@github.com>2022-02-07 13:54:32 +0100
commitbf22f114a6e049744866ebaba48faec2cb86549b (patch)
treeea6814e51bade2355144546f21178f54811a57f2 /ext/fetch/23_response.js
parent9c7ed1c98b75c3557ac9e269212dcf655f69c0a2 (diff)
refactor: update runtime code for primordial check for iterators (#13510)
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) {