diff --git a/docs/server.rst b/docs/server.rst index 9261a42..1bc4c68 100644 --- a/docs/server.rst +++ b/docs/server.rst @@ -246,6 +246,8 @@ a :class:`socketio.exceptions.ConnectionRefusedError` exception can be raised, and all of its arguments will be sent to the client with the rejection message:: + from socketio.exceptions import ConnectionRefusedError + @sio.event def connect(sid, environ, auth): raise ConnectionRefusedError('authentication failed') diff --git a/src/socketio/async_server.py b/src/socketio/async_server.py index fac0f2b..138ce44 100644 --- a/src/socketio/async_server.py +++ b/src/socketio/async_server.py @@ -561,6 +561,9 @@ class AsyncServer(base_server.BaseServer): except exceptions.ConnectionRefusedError as exc: fail_reason = exc.error_args success = False + except ConnectionRefusedError as exc: + fail_reason = {"message": "Connection refused by server"} + success = False if success is False: if self.always_connect: diff --git a/src/socketio/server.py b/src/socketio/server.py index 71c702d..d0267ec 100644 --- a/src/socketio/server.py +++ b/src/socketio/server.py @@ -543,6 +543,9 @@ class Server(base_server.BaseServer): except exceptions.ConnectionRefusedError as exc: fail_reason = exc.error_args success = False + except ConnectionRefusedError as exc: + fail_reason = {"message": "Connection refused by server"} + success = False if success is False: if self.always_connect: