summaryrefslogtreecommitdiff
path: root/ext/websocket/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/websocket/lib.rs')
-rw-r--r--ext/websocket/lib.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/websocket/lib.rs b/ext/websocket/lib.rs
index 87503120b..5c3e8d7b1 100644
--- a/ext/websocket/lib.rs
+++ b/ext/websocket/lib.rs
@@ -699,10 +699,14 @@ pub async fn op_ws_close(
#[smi] code: Option<u16>,
#[string] reason: Option<String>,
) -> Result<(), AnyError> {
- let resource = state
+ let Ok(resource) = state
.borrow_mut()
.resource_table
- .get::<ServerWebSocket>(rid)?;
+ .get::<ServerWebSocket>(rid)
+ else {
+ return Ok(());
+ };
+
let frame = reason
.map(|reason| Frame::close(code.unwrap_or(1005), reason.as_bytes()))
.unwrap_or_else(|| Frame::close_raw(vec![].into()));