summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/http/http_next.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/http/http_next.rs b/ext/http/http_next.rs
index 5635fbd4b..cd63bc899 100644
--- a/ext/http/http_next.rs
+++ b/ext/http/http_next.rs
@@ -214,8 +214,11 @@ pub async fn op_http_upgrade_websocket_next(
#[op2(fast)]
pub fn op_http_set_promise_complete(#[smi] slab_id: SlabId, status: u16) {
let mut http = slab_get(slab_id);
- // The Javascript code will never provide a status that is invalid here (see 23_response.js)
- *http.response().status_mut() = StatusCode::from_u16(status).unwrap();
+ // The Javascript code should never provide a status that is invalid here (see 23_response.js), so we
+ // will quitely ignore invalid values.
+ if let Ok(code) = StatusCode::from_u16(status) {
+ *http.response().status_mut() = code;
+ }
http.complete();
}