Skip to content

Commit 19042e1

Browse files
allow events to be sent from the connect handler
1 parent 540f7fd commit 19042e1

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

socketio/server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,12 +290,13 @@ def _send_packet(self, sid, pkt):
290290
def _handle_connect(self, sid, namespace):
291291
"""Handle a client connection request."""
292292
namespace = namespace or '/'
293+
self.manager.connect(sid, namespace)
293294
if self._trigger_event('connect', namespace, sid,
294295
self.environ[sid]) is False:
296+
self.manager.disconnect(sid, namespace)
295297
self._send_packet(sid, packet.Packet(packet.ERROR,
296298
namespace=namespace))
297299
else:
298-
self.manager.connect(sid, namespace)
299300
self._send_packet(sid, packet.Packet(packet.CONNECT,
300301
namespace=namespace))
301302

tests/test_server.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ def test_handle_connect_rejected(self, eio):
167167
s.on('connect', handler)
168168
s._handle_eio_connect('123', 'environ')
169169
handler.assert_called_once_with('123', 'environ')
170-
self.assertEqual(s.manager.connect.call_count, 0)
170+
self.assertEqual(s.manager.connect.call_count, 1)
171+
self.assertEqual(s.manager.disconnect.call_count, 1)
171172
s.eio.send.assert_called_once_with('123', '4', binary=False)
172173

173174
def test_handle_connect_namespace_rejected(self, eio):
@@ -177,7 +178,8 @@ def test_handle_connect_namespace_rejected(self, eio):
177178
s.on('connect', handler, namespace='/foo')
178179
s._handle_eio_connect('123', 'environ')
179180
s._handle_eio_message('123', '0/foo')
180-
self.assertEqual(s.manager.connect.call_count, 1)
181+
self.assertEqual(s.manager.connect.call_count, 2)
182+
self.assertEqual(s.manager.disconnect.call_count, 1)
181183
s.eio.send.assert_any_call('123', '4/foo', binary=False)
182184

183185
def test_handle_disconnect(self, eio):

0 commit comments

Comments
 (0)