You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Seems like the sio.transport() method does work as expected.
To Reproduce
Use this connect callback:
importloggingfromsocketioimportAsyncServersio: AsyncServerasyncdefon_connect(session_id: str, environ: dict) ->None:
other_sid=sio.manager.eio_sid_from_sid(sid=session_id, namespace='/')
logging.info(f'SocketIO: user {session_id} uses transport {sio.transport(other_sid)}') # works finelogging.info(f'SocketIO: user {session_id} uses transport {sio.transport(session_id)}') # crashes with KeyError
Expected behavior
I would not expect to translate the sid myself. The library should handle this for me like in sio.save_session().
Logs
2024-01-13 17:58:12,181.181: INFO SocketIO: user mjMOEbi52VyD5N3wAAAB uses transport websocket
message async handler error
Traceback (most recent call last):
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/base_server.py", line 224, in _get_socket
s = self.sockets[sid]
~~~~~~~~~~~~^^^^^
KeyError: 'mjMOEbi52VyD5N3wAAAB'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/async_server.py", line 483, in run_async_handler
return await self.handlers[event](*args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/async_server.py", line 669, in _handle_eio_message
await self._handle_connect(eio_sid, pkt.namespace, pkt.data)
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/async_server.py", line 552, in _handle_connect
success = await self._trigger_event(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/async_server.py", line 634, in _trigger_event
ret = await handler(*args)
^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/api/mobile_app/socketio/routes.py", line 22, in on_connect
logging.info(f'SocketIO: user {session_id} uses transport {sio.transport(session_id)}')
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/base_server.py", line 198, in transport
return self.eio.transport(sid)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/base_server.py", line 157, in transport
return 'websocket' if self._get_socket(sid).upgraded else 'polling'
^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/base_server.py", line 226, in _get_socket
raise KeyError('Session not found')
KeyError: 'Session not found'
2024-01-13 17:58:12,181.181: ERROR message async handler error
Traceback (most recent call last):
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/base_server.py", line 224, in _get_socket
s = self.sockets[sid]
~~~~~~~~~~~~^^^^^
KeyError: 'mjMOEbi52VyD5N3wAAAB'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/async_server.py", line 483, in run_async_handler
return await self.handlers[event](*args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/async_server.py", line 669, in _handle_eio_message
await self._handle_connect(eio_sid, pkt.namespace, pkt.data)
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/async_server.py", line 552, in _handle_connect
success = await self._trigger_event(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/async_server.py", line 634, in _trigger_event
ret = await handler(*args)
^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/api/mobile_app/socketio/routes.py", line 22, in on_connect
logging.info(f'SocketIO: user {session_id} uses transport {sio.transport(session_id)}')
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/socketio/base_server.py", line 198, in transport
return self.eio.transport(sid)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/base_server.py", line 157, in transport
return 'websocket' if self._get_socket(sid).upgraded else 'polling'
^^^^^^^^^^^^^^^^^^^^^
File "/home/willi/Documents/repositories/FCM_Python_Flutter_Test/src/backend/venv/lib/python3.11/site-packages/engineio/base_server.py", line 226, in _get_socket
raise KeyError('Session not found')
KeyError: 'Session not found'
The text was updated successfully, but these errors were encountered:
Describe the bug
Seems like the
sio.transport()
method does work as expected.To Reproduce
Use this connect callback:
Expected behavior
I would not expect to translate the
sid
myself. The library should handle this for me like insio.save_session()
.Logs
The text was updated successfully, but these errors were encountered: