From ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Wed, 12 Oct 2022 23:48:41 -0700 Subject: Fix `cancel` not working in some cases in ReadableStream --- src/bun.js/builtins/js/ReadableStreamInternals.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/bun.js/builtins/js/ReadableStreamInternals.js') diff --git a/src/bun.js/builtins/js/ReadableStreamInternals.js b/src/bun.js/builtins/js/ReadableStreamInternals.js index cbe72c99e..e59372d24 100644 --- a/src/bun.js/builtins/js/ReadableStreamInternals.js +++ b/src/bun.js/builtins/js/ReadableStreamInternals.js @@ -1614,7 +1614,17 @@ function readableStreamCancel(stream, reason) { @readableStreamClose(stream); var controller = @getByIdDirectPrivate(stream, "readableStreamController"); - return controller.@cancel(controller, reason).@then(function () {}); + var cancel = controller.@cancel; + if (cancel) { + return cancel(controller, reason).@then(function () {}); + } + + var close = controller.close; + if (close) { + return @Promise.@resolve(controller.close(reason)); + } + + @throwTypeError("ReadableStreamController has no cancel or close method"); } function readableStreamDefaultControllerCancel(controller, reason) { -- cgit v1.2.3