From 7a913fbfcdb7ddfc24a687976a73722825419d8c Mon Sep 17 00:00:00 2001 From: Zentrik Date: Sat, 6 Apr 2024 18:41:49 +0100 Subject: [PATCH] Updated: Rethrow errors so they may be handled outside of WebSocket.open() (#1072) * Rethrow error in websocket * Don't throw when closed normally https://github.com/JuliaWeb/HTTP.jl/pull/1069/files#r1247308928 * Also rethrow when upgrading websocket --- src/WebSockets.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/WebSockets.jl b/src/WebSockets.jl index a937c296..83a4bcc8 100644 --- a/src/WebSockets.jl +++ b/src/WebSockets.jl @@ -385,6 +385,9 @@ function open(f::Function, url; suppress_close_error::Bool=false, verbose=false, close(ws, CloseFrameBody(1008, "Unexpected client websocket error")) end end + if !isok(e) + rethrow() + end finally if !isclosed(ws) close(ws, CloseFrameBody(1000, "")) @@ -452,6 +455,9 @@ function upgrade(f::Function, http::Streams.Stream; suppress_close_error::Bool=f close(ws, CloseFrameBody(1011, "Unexpected server websocket error")) end end + if !isok(e) + rethrow() + end finally if !isclosed(ws) close(ws, CloseFrameBody(1000, ""))