diff options
Diffstat (limited to 'ext/websocket/lib.rs')
-rw-r--r-- | ext/websocket/lib.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/ext/websocket/lib.rs b/ext/websocket/lib.rs index e6f382c34..e4df9d3d3 100644 --- a/ext/websocket/lib.rs +++ b/ext/websocket/lib.rs @@ -703,9 +703,11 @@ pub async fn op_ws_close( pub fn op_ws_get_buffer( state: &mut OpState, #[smi] rid: ResourceId, -) -> Result<ToJsBuffer, AnyError> { - let resource = state.resource_table.get::<ServerWebSocket>(rid)?; - Ok(resource.buffer.take().unwrap().into()) +) -> Option<ToJsBuffer> { + let Ok(resource) = state.resource_table.get::<ServerWebSocket>(rid) else { + return None; + }; + resource.buffer.take().map(ToJsBuffer::from) } #[op2] @@ -713,9 +715,11 @@ pub fn op_ws_get_buffer( pub fn op_ws_get_buffer_as_string( state: &mut OpState, #[smi] rid: ResourceId, -) -> Result<String, AnyError> { - let resource = state.resource_table.get::<ServerWebSocket>(rid)?; - Ok(resource.string.take().unwrap()) +) -> Option<String> { + let Ok(resource) = state.resource_table.get::<ServerWebSocket>(rid) else { + return None; + }; + resource.string.take() } #[op2] |