Browse Source

fix: apply _create_packet

pull/1521/head
phi 7 months ago
parent
commit
005953da1d
  1. 10
      src/socketio/async_client.py
  2. 16
      src/socketio/async_server.py
  3. 10
      src/socketio/client.py
  4. 16
      src/socketio/server.py

10
src/socketio/async_client.py

@ -243,7 +243,7 @@ class AsyncClient(base_client.BaseClient):
data = [data] data = [data]
else: else:
data = [] data = []
await self._send_packet(self.packet_class( await self._send_packet(self._create_packet(
packet.EVENT, namespace=namespace, data=[event] + data, id=id)) packet.EVENT, namespace=namespace, data=[event] + data, id=id))
async def send(self, data, namespace=None, callback=None): async def send(self, data, namespace=None, callback=None):
@ -325,7 +325,7 @@ class AsyncClient(base_client.BaseClient):
# here we just request the disconnection # here we just request the disconnection
# later in _handle_eio_disconnect we invoke the disconnect handler # later in _handle_eio_disconnect we invoke the disconnect handler
for n in self.namespaces: for n in self.namespaces:
await self._send_packet(self.packet_class(packet.DISCONNECT, await self._send_packet(self._create_packet(packet.DISCONNECT,
namespace=n)) namespace=n))
await self.eio.disconnect() await self.eio.disconnect()
@ -422,7 +422,7 @@ class AsyncClient(base_client.BaseClient):
data = list(r) data = list(r)
else: else:
data = [r] data = [r]
await self._send_packet(self.packet_class( await self._send_packet(self._create_packet(
packet.ACK, namespace=namespace, id=id, data=data)) packet.ACK, namespace=namespace, id=id, data=data))
async def _handle_ack(self, namespace, id, data): async def _handle_ack(self, namespace, id, data):
@ -555,7 +555,7 @@ class AsyncClient(base_client.BaseClient):
self.sid = self.eio.sid self.sid = self.eio.sid
real_auth = await self._get_real_value(self.connection_auth) or {} real_auth = await self._get_real_value(self.connection_auth) or {}
for n in self.connection_namespaces: for n in self.connection_namespaces:
await self._send_packet(self.packet_class( await self._send_packet(self._create_packet(
packet.CONNECT, data=real_auth, namespace=n)) packet.CONNECT, data=real_auth, namespace=n))
async def _handle_eio_message(self, data): async def _handle_eio_message(self, data):
@ -569,7 +569,7 @@ class AsyncClient(base_client.BaseClient):
else: else:
await self._handle_ack(pkt.namespace, pkt.id, pkt.data) await self._handle_ack(pkt.namespace, pkt.id, pkt.data)
else: else:
pkt = self.packet_class(encoded_packet=data) pkt = self._create_packet(encoded_packet=data)
if pkt.packet_type == packet.CONNECT: if pkt.packet_type == packet.CONNECT:
await self._handle_connect(pkt.namespace, pkt.data) await self._handle_connect(pkt.namespace, pkt.data)
elif pkt.packet_type == packet.DISCONNECT: elif pkt.packet_type == packet.DISCONNECT:

16
src/socketio/async_server.py

@ -425,7 +425,7 @@ class AsyncServer(base_server.BaseServer):
if delete_it: if delete_it:
self.logger.info('Disconnecting %s [%s]', sid, namespace) self.logger.info('Disconnecting %s [%s]', sid, namespace)
eio_sid = self.manager.pre_disconnect(sid, namespace=namespace) eio_sid = self.manager.pre_disconnect(sid, namespace=namespace)
await self._send_packet(eio_sid, self.packet_class( await self._send_packet(eio_sid, self._create_packet(
packet.DISCONNECT, namespace=namespace)) packet.DISCONNECT, namespace=namespace))
await self._trigger_event('disconnect', namespace, sid, await self._trigger_event('disconnect', namespace, sid,
self.reason.SERVER_DISCONNECT) self.reason.SERVER_DISCONNECT)
@ -538,13 +538,13 @@ class AsyncServer(base_server.BaseServer):
or self.namespaces == '*' or namespace in self.namespaces: or self.namespaces == '*' or namespace in self.namespaces:
sid = await self.manager.connect(eio_sid, namespace) sid = await self.manager.connect(eio_sid, namespace)
if sid is None: if sid is None:
await self._send_packet(eio_sid, self.packet_class( await self._send_packet(eio_sid, self._create_packet(
packet.CONNECT_ERROR, data='Unable to connect', packet.CONNECT_ERROR, data='Unable to connect',
namespace=namespace)) namespace=namespace))
return return
if self.always_connect: if self.always_connect:
await self._send_packet(eio_sid, self.packet_class( await self._send_packet(eio_sid, self._create_packet(
packet.CONNECT, {'sid': sid}, namespace=namespace)) packet.CONNECT, {'sid': sid}, namespace=namespace))
fail_reason = exceptions.ConnectionRefusedError().error_args fail_reason = exceptions.ConnectionRefusedError().error_args
try: try:
@ -568,15 +568,15 @@ class AsyncServer(base_server.BaseServer):
if success is False: if success is False:
if self.always_connect: if self.always_connect:
self.manager.pre_disconnect(sid, namespace) self.manager.pre_disconnect(sid, namespace)
await self._send_packet(eio_sid, self.packet_class( await self._send_packet(eio_sid, self._create_packet(
packet.DISCONNECT, data=fail_reason, namespace=namespace)) packet.DISCONNECT, data=fail_reason, namespace=namespace))
else: else:
await self._send_packet(eio_sid, self.packet_class( await self._send_packet(eio_sid, self._create_packet(
packet.CONNECT_ERROR, data=fail_reason, packet.CONNECT_ERROR, data=fail_reason,
namespace=namespace)) namespace=namespace))
await self.manager.disconnect(sid, namespace, ignore_queue=True) await self.manager.disconnect(sid, namespace, ignore_queue=True)
elif not self.always_connect: elif not self.always_connect:
await self._send_packet(eio_sid, self.packet_class( await self._send_packet(eio_sid, self._create_packet(
packet.CONNECT, {'sid': sid}, namespace=namespace)) packet.CONNECT, {'sid': sid}, namespace=namespace))
async def _handle_disconnect(self, eio_sid, namespace, reason=None): async def _handle_disconnect(self, eio_sid, namespace, reason=None):
@ -622,7 +622,7 @@ class AsyncServer(base_server.BaseServer):
data = list(r) data = list(r)
else: else:
data = [r] data = [r]
await server._send_packet(eio_sid, self.packet_class( await server._send_packet(eio_sid, self._create_packet(
packet.ACK, namespace=namespace, id=id, data=data)) packet.ACK, namespace=namespace, id=id, data=data))
async def _handle_ack(self, eio_sid, namespace, id, data): async def _handle_ack(self, eio_sid, namespace, id, data):
@ -686,7 +686,7 @@ class AsyncServer(base_server.BaseServer):
await self._handle_ack(eio_sid, pkt.namespace, pkt.id, await self._handle_ack(eio_sid, pkt.namespace, pkt.id,
pkt.data) pkt.data)
else: else:
pkt = self.packet_class(encoded_packet=data) pkt = self._create_packet(encoded_packet=data)
if pkt.packet_type == packet.CONNECT: if pkt.packet_type == packet.CONNECT:
await self._handle_connect(eio_sid, pkt.namespace, pkt.data) await self._handle_connect(eio_sid, pkt.namespace, pkt.data)
elif pkt.packet_type == packet.DISCONNECT: elif pkt.packet_type == packet.DISCONNECT:

10
src/socketio/client.py

@ -234,7 +234,7 @@ class Client(base_client.BaseClient):
data = [data] data = [data]
else: else:
data = [] data = []
self._send_packet(self.packet_class(packet.EVENT, namespace=namespace, self._send_packet(self._create_packet(packet.EVENT, namespace=namespace,
data=[event] + data, id=id)) data=[event] + data, id=id))
def send(self, data, namespace=None, callback=None): def send(self, data, namespace=None, callback=None):
@ -307,7 +307,7 @@ class Client(base_client.BaseClient):
# here we just request the disconnection # here we just request the disconnection
# later in _handle_eio_disconnect we invoke the disconnect handler # later in _handle_eio_disconnect we invoke the disconnect handler
for n in self.namespaces: for n in self.namespaces:
self._send_packet(self.packet_class( self._send_packet(self._create_packet(
packet.DISCONNECT, namespace=n)) packet.DISCONNECT, namespace=n))
self.eio.disconnect() self.eio.disconnect()
@ -402,7 +402,7 @@ class Client(base_client.BaseClient):
data = list(r) data = list(r)
else: else:
data = [r] data = [r]
self._send_packet(self.packet_class( self._send_packet(self._create_packet(
packet.ACK, namespace=namespace, id=id, data=data)) packet.ACK, namespace=namespace, id=id, data=data))
def _handle_ack(self, namespace, id, data): def _handle_ack(self, namespace, id, data):
@ -506,7 +506,7 @@ class Client(base_client.BaseClient):
self.sid = self.eio.sid self.sid = self.eio.sid
real_auth = self._get_real_value(self.connection_auth) or {} real_auth = self._get_real_value(self.connection_auth) or {}
for n in self.connection_namespaces: for n in self.connection_namespaces:
self._send_packet(self.packet_class( self._send_packet(self._create_packet(
packet.CONNECT, data=real_auth, namespace=n)) packet.CONNECT, data=real_auth, namespace=n))
def _handle_eio_message(self, data): def _handle_eio_message(self, data):
@ -520,7 +520,7 @@ class Client(base_client.BaseClient):
else: else:
self._handle_ack(pkt.namespace, pkt.id, pkt.data) self._handle_ack(pkt.namespace, pkt.id, pkt.data)
else: else:
pkt = self.packet_class(encoded_packet=data) pkt = self._create_packet(encoded_packet=data)
if pkt.packet_type == packet.CONNECT: if pkt.packet_type == packet.CONNECT:
self._handle_connect(pkt.namespace, pkt.data) self._handle_connect(pkt.namespace, pkt.data)
elif pkt.packet_type == packet.DISCONNECT: elif pkt.packet_type == packet.DISCONNECT:

16
src/socketio/server.py

@ -401,7 +401,7 @@ class Server(base_server.BaseServer):
if delete_it: if delete_it:
self.logger.info('Disconnecting %s [%s]', sid, namespace) self.logger.info('Disconnecting %s [%s]', sid, namespace)
eio_sid = self.manager.pre_disconnect(sid, namespace=namespace) eio_sid = self.manager.pre_disconnect(sid, namespace=namespace)
self._send_packet(eio_sid, self.packet_class( self._send_packet(eio_sid, self._create_packet(
packet.DISCONNECT, namespace=namespace)) packet.DISCONNECT, namespace=namespace))
self._trigger_event('disconnect', namespace, sid, self._trigger_event('disconnect', namespace, sid,
self.reason.SERVER_DISCONNECT) self.reason.SERVER_DISCONNECT)
@ -520,13 +520,13 @@ class Server(base_server.BaseServer):
or self.namespaces == '*' or namespace in self.namespaces: or self.namespaces == '*' or namespace in self.namespaces:
sid = self.manager.connect(eio_sid, namespace) sid = self.manager.connect(eio_sid, namespace)
if sid is None: if sid is None:
self._send_packet(eio_sid, self.packet_class( self._send_packet(eio_sid, self._create_packet(
packet.CONNECT_ERROR, data='Unable to connect', packet.CONNECT_ERROR, data='Unable to connect',
namespace=namespace)) namespace=namespace))
return return
if self.always_connect: if self.always_connect:
self._send_packet(eio_sid, self.packet_class( self._send_packet(eio_sid, self._create_packet(
packet.CONNECT, {'sid': sid}, namespace=namespace)) packet.CONNECT, {'sid': sid}, namespace=namespace))
fail_reason = exceptions.ConnectionRefusedError().error_args fail_reason = exceptions.ConnectionRefusedError().error_args
try: try:
@ -550,15 +550,15 @@ class Server(base_server.BaseServer):
if success is False: if success is False:
if self.always_connect: if self.always_connect:
self.manager.pre_disconnect(sid, namespace) self.manager.pre_disconnect(sid, namespace)
self._send_packet(eio_sid, self.packet_class( self._send_packet(eio_sid, self._create_packet(
packet.DISCONNECT, data=fail_reason, namespace=namespace)) packet.DISCONNECT, data=fail_reason, namespace=namespace))
else: else:
self._send_packet(eio_sid, self.packet_class( self._send_packet(eio_sid, self._create_packet(
packet.CONNECT_ERROR, data=fail_reason, packet.CONNECT_ERROR, data=fail_reason,
namespace=namespace)) namespace=namespace))
self.manager.disconnect(sid, namespace, ignore_queue=True) self.manager.disconnect(sid, namespace, ignore_queue=True)
elif not self.always_connect: elif not self.always_connect:
self._send_packet(eio_sid, self.packet_class( self._send_packet(eio_sid, self._create_packet(
packet.CONNECT, {'sid': sid}, namespace=namespace)) packet.CONNECT, {'sid': sid}, namespace=namespace))
def _handle_disconnect(self, eio_sid, namespace, reason=None): def _handle_disconnect(self, eio_sid, namespace, reason=None):
@ -601,7 +601,7 @@ class Server(base_server.BaseServer):
data = list(r) data = list(r)
else: else:
data = [r] data = [r]
server._send_packet(eio_sid, self.packet_class( server._send_packet(eio_sid, self._create_packet(
packet.ACK, namespace=namespace, id=id, data=data)) packet.ACK, namespace=namespace, id=id, data=data))
def _handle_ack(self, eio_sid, namespace, id, data): def _handle_ack(self, eio_sid, namespace, id, data):
@ -650,7 +650,7 @@ class Server(base_server.BaseServer):
else: else:
self._handle_ack(eio_sid, pkt.namespace, pkt.id, pkt.data) self._handle_ack(eio_sid, pkt.namespace, pkt.id, pkt.data)
else: else:
pkt = self.packet_class(encoded_packet=data) pkt = self._create_packet(encoded_packet=data)
if pkt.packet_type == packet.CONNECT: if pkt.packet_type == packet.CONNECT:
self._handle_connect(eio_sid, pkt.namespace, pkt.data) self._handle_connect(eio_sid, pkt.namespace, pkt.data)
elif pkt.packet_type == packet.DISCONNECT: elif pkt.packet_type == packet.DISCONNECT:

Loading…
Cancel
Save