1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00

fix: fetch closes unused body (#4393)

This commit makes sure that "httpBody" resource is closed in case of redirections in fetch API.
This commit is contained in:
Bartek Iwańczuk 2020-03-16 15:32:29 +01:00 committed by GitHub
parent 49541a04d2
commit 7d0b77440e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 8 deletions

View file

@ -174,8 +174,6 @@ unitTest(
unitTest(
{
// TODO(bartlomieju): leaking resources
skip: true,
perms: { net: true }
},
async function fetchWithRedirection(): Promise<void> {
@ -190,8 +188,6 @@ unitTest(
unitTest(
{
// TODO: leaking resources
skip: true,
perms: { net: true }
},
async function fetchWithRelativeRedirection(): Promise<void> {
@ -451,8 +447,6 @@ unitTest(
unitTest(
{
// TODO: leaking resources
skip: true,
perms: { net: true }
},
async function fetchWithManualRedirection(): Promise<void> {
@ -476,8 +470,6 @@ unitTest(
unitTest(
{
// TODO: leaking resources
skip: true,
perms: { net: true }
},
async function fetchWithErrorRedirection(): Promise<void> {

View file

@ -531,6 +531,9 @@ export async function fetch(
redirected
);
if ([301, 302, 303, 307, 308].includes(response.status)) {
// We won't use body of received response, so close it now
// otherwise it will be kept in resource table.
close(fetchResponse.bodyRid);
// We're in a redirect status
switch ((init && init.redirect) || "follow") {
case "error":