summaryrefslogtreecommitdiff
path: root/extensions/fetch/lib.rs
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2021-06-30 18:05:58 +0200
committerGitHub <noreply@github.com>2021-06-30 18:05:58 +0200
commitde6e44794b7a95b6895a9aab907e01788820d18c (patch)
tree7cbfd339f1e67eed9886c50b803556ebe3031432 /extensions/fetch/lib.rs
parent3e21ffc935a139f9cfa1ddfaeffd6429d53061ed (diff)
fix: panic in request body streaming (#11191)
Diffstat (limited to 'extensions/fetch/lib.rs')
-rw-r--r--extensions/fetch/lib.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/extensions/fetch/lib.rs b/extensions/fetch/lib.rs
index 50a968fd2..68fe7a20b 100644
--- a/extensions/fetch/lib.rs
+++ b/extensions/fetch/lib.rs
@@ -356,7 +356,9 @@ pub async fn op_fetch_request_write(
.ok_or_else(bad_resource_id)?;
let body = RcRef::map(&resource, |r| &r.body).borrow_mut().await;
let cancel = RcRef::map(resource, |r| &r.cancel);
- body.send(Ok(buf)).or_cancel(cancel).await??;
+ body.send(Ok(buf)).or_cancel(cancel).await?.map_err(|_| {
+ type_error("request body receiver not connected (request closed)")
+ })?;
Ok(())
}