From 41bf7ab83fa88cca653c87f724ce1208495a546d Mon Sep 17 00:00:00 2001 From: Zentrik Date: Wed, 3 May 2023 09:09:44 +0100 Subject: [PATCH 1/3] Rethrow error in websocket --- src/WebSockets.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/WebSockets.jl b/src/WebSockets.jl index 56b6933a9..b594ddcbf 100644 --- a/src/WebSockets.jl +++ b/src/WebSockets.jl @@ -384,6 +384,7 @@ function open(f::Function, url; suppress_close_error::Bool=false, verbose=false, close(ws, CloseFrameBody(1008, "Unexpected client websocket error")) end end + rethrow() finally if !isclosed(ws) close(ws, CloseFrameBody(1000, "")) From 767cde7bbf91ac1981829aace72e1690fb36147a Mon Sep 17 00:00:00 2001 From: Zentrik Date: Thu, 6 Jul 2023 22:49:49 +0100 Subject: [PATCH 2/3] Don't throw when closed normally https://github.com/JuliaWeb/HTTP.jl/pull/1069/files#r1247308928 --- src/WebSockets.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/WebSockets.jl b/src/WebSockets.jl index b594ddcbf..86a4c8ee9 100644 --- a/src/WebSockets.jl +++ b/src/WebSockets.jl @@ -384,7 +384,9 @@ function open(f::Function, url; suppress_close_error::Bool=false, verbose=false, close(ws, CloseFrameBody(1008, "Unexpected client websocket error")) end end - rethrow() + if !isok(e) + rethrow() + end finally if !isclosed(ws) close(ws, CloseFrameBody(1000, "")) From dc84d3da64707fade55f72b0b628def9db6376de Mon Sep 17 00:00:00 2001 From: Zentrik Date: Fri, 7 Jul 2023 00:09:48 +0100 Subject: [PATCH 3/3] Also rethrow when upgrading websocket --- src/WebSockets.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/WebSockets.jl b/src/WebSockets.jl index 86a4c8ee9..b25484d2f 100644 --- a/src/WebSockets.jl +++ b/src/WebSockets.jl @@ -451,6 +451,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, ""))