From c27f8ad9ae646940b151f7b8f73aa6a0151c2f44 Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Tue, 5 Apr 2022 21:00:48 +0200 Subject: [PATCH] Default to 1000 in case of `code` being `None` on `websocket.disconnect` --- starlette/endpoints.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/starlette/endpoints.py b/starlette/endpoints.py index 73367c257..f2468a326 100644 --- a/starlette/endpoints.py +++ b/starlette/endpoints.py @@ -80,7 +80,9 @@ async def dispatch(self) -> None: data = await self.decode(websocket, message) await self.on_receive(websocket, data) elif message["type"] == "websocket.disconnect": - close_code = int(message.get("code", status.WS_1000_NORMAL_CLOSURE)) + close_code = int( + message.get("code") or status.WS_1000_NORMAL_CLOSURE + ) break except Exception as exc: close_code = status.WS_1011_INTERNAL_ERROR