Skip to content

Commit 3349b02

Browse files
Invoke the disconnect handler when the client initiates a disconnection (Fixes miguelgrinberg#594)
1 parent 9179504 commit 3349b02

File tree

4 files changed

+4
-2
lines changed

4 files changed

+4
-2
lines changed

socketio/asyncio_client.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ async def disconnect(self):
255255
for n in self.namespaces:
256256
await self._send_packet(packet.Packet(packet.DISCONNECT,
257257
namespace=n))
258-
self.connected = False
259258
await self.eio.disconnect(abort=True)
260259

261260
def start_background_task(self, target, *args, **kwargs):

socketio/client.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,6 @@ def disconnect(self):
408408
# later in _handle_eio_disconnect we invoke the disconnect handler
409409
for n in self.namespaces:
410410
self._send_packet(packet.Packet(packet.DISCONNECT, namespace=n))
411-
self.connected = False
412411
self.eio.disconnect(abort=True)
413412

414413
def get_sid(self, namespace=None):

tests/asyncio/test_asyncio_client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,13 +406,15 @@ async def fake_event_wait():
406406

407407
def test_disconnect(self):
408408
c = asyncio_client.AsyncClient()
409+
c.connected = True
409410
c.namespaces = {'/': '1'}
410411
c._trigger_event = AsyncMock()
411412
c._send_packet = AsyncMock()
412413
c.eio = mock.MagicMock()
413414
c.eio.disconnect = AsyncMock()
414415
c.eio.state = 'connected'
415416
_run(c.disconnect())
417+
assert c.connected
416418
assert c._trigger_event.mock.call_count == 0
417419
assert c._send_packet.mock.call_count == 1
418420
expected_packet = packet.Packet(packet.DISCONNECT, namespace='/')

tests/common/test_client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,12 +508,14 @@ def fake_event_wait(timeout=None):
508508

509509
def test_disconnect(self):
510510
c = client.Client()
511+
c.connected = True
511512
c.namespaces = {'/': '1'}
512513
c._trigger_event = mock.MagicMock()
513514
c._send_packet = mock.MagicMock()
514515
c.eio = mock.MagicMock()
515516
c.eio.state = 'connected'
516517
c.disconnect()
518+
assert c.connected
517519
assert c._trigger_event.call_count == 0
518520
assert c._send_packet.call_count == 1
519521
expected_packet = packet.Packet(packet.DISCONNECT, namespace='/')

0 commit comments

Comments
 (0)