summaryrefslogtreecommitdiff
path: root/ext/fetch/23_request.js
diff options
context:
space:
mode:
authorFelipe Baltor <fbaltor@gmail.com>2023-07-30 10:13:28 -0300
committerGitHub <noreply@github.com>2023-07-30 09:13:28 -0400
commit3cb260ed15a26785272bb09427504a565010963d (patch)
treecc29322017d235d3d56c75240eab1ce9f1f8be76 /ext/fetch/23_request.js
parentcfdef0c38038e42a4ac40f6e962c5e40a0c5cbe6 (diff)
fix(Deno.serve): accessing .url on cloned request throws (#19869)
This PR fixes #19818. The problem was that the new InnerRequest class does not initialize the fields urlList and urlListProcessed that are used during a request clone. The solution aims to be straightforward by simply initializing the missing properties during the clone process. I also implemented a "cache" to the url getter of the new InnerRequest, avoiding the cost of calling op_http_get_request_method_and_url.
Diffstat (limited to 'ext/fetch/23_request.js')
-rw-r--r--ext/fetch/23_request.js4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/fetch/23_request.js b/ext/fetch/23_request.js
index daf77a834..afd3c1c50 100644
--- a/ext/fetch/23_request.js
+++ b/ext/fetch/23_request.js
@@ -174,8 +174,8 @@ function cloneInnerRequest(request, skipBody = false) {
body,
redirectMode: request.redirectMode,
redirectCount: request.redirectCount,
- urlList: request.urlList,
- urlListProcessed: request.urlListProcessed,
+ urlList: [() => request.url()],
+ urlListProcessed: [request.url()],
clientRid: request.clientRid,
blobUrlEntry: request.blobUrlEntry,
url() {