aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/js/ReadableStreamInternals.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-12 23:48:41 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-12 23:48:41 -0700
commitad29d9ffb3340814ceda768ed60f5ea0a7a65ca4 (patch)
tree13bcddae5941ec2762f70886afb0f8db698b9b84 /src/bun.js/builtins/js/ReadableStreamInternals.js
parent8200f43a0431cd0270865fb0c576e0f8e4fe1c8a (diff)
downloadbun-ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4.tar.gz
bun-ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4.tar.zst
bun-ad29d9ffb3340814ceda768ed60f5ea0a7a65ca4.zip
Fix `cancel` not working in some cases in ReadableStream
Diffstat (limited to 'src/bun.js/builtins/js/ReadableStreamInternals.js')
-rw-r--r--src/bun.js/builtins/js/ReadableStreamInternals.js12
1 files changed, 11 insertions, 1 deletions
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) {