From 7a47321b091de3693dcd5a433d2c1dd3c66727ba Mon Sep 17 00:00:00 2001 From: Satya Rohith Date: Tue, 27 Sep 2022 22:07:46 +0530 Subject: [PATCH] fix(ext/fetch): blob url (#16057) Co-authored-by: Luca Casonato --- cli/tests/unit/fetch_test.ts | 17 +++++++++++++++++ ext/fetch/26_fetch.js | 5 ++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/cli/tests/unit/fetch_test.ts b/cli/tests/unit/fetch_test.ts index 5375457bc9..7a531392da 100644 --- a/cli/tests/unit/fetch_test.ts +++ b/cli/tests/unit/fetch_test.ts @@ -1773,3 +1773,20 @@ Deno.test( listener.close(); }, ); + +Deno.test( + { permissions: { net: true } }, + async function fetchBlobUrl(): Promise< + void + > { + const blob = new Blob(["ok"], { type: "text/plain" }); + const url = URL.createObjectURL(blob); + const res = await fetch(url); + console.log(res); + assert(res.url.startsWith("blob:http://js-unit-tests/")); + assertEquals(res.status, 200); + assertEquals(res.headers.get("content-length"), "2"); + assertEquals(res.headers.get("content-type"), "text/plain"); + assertEquals(await res.text(), "ok"); + }, +); diff --git a/ext/fetch/26_fetch.js b/ext/fetch/26_fetch.js index 13c34f5343..3e90429ce4 100644 --- a/ext/fetch/26_fetch.js +++ b/ext/fetch/26_fetch.js @@ -165,6 +165,7 @@ const body = new InnerBody(req.blobUrlEntry.stream()); terminator[abortSignal.add](() => body.error(terminator.reason)); + processUrlList(req.urlList, req.urlListProcessed); return { headerList: [ @@ -179,7 +180,9 @@ if (this.urlList.length == 0) return null; return this.urlList[this.urlList.length - 1]; }, - urlList: recursive ? [] : [...new SafeArrayIterator(req.urlList)], + urlList: recursive + ? [] + : [...new SafeArrayIterator(req.urlListProcessed)], }; }