MCPcopy Create free account
hub / github.com/miguelgrinberg/python-socketio / _trigger_event

Method _trigger_event

src/socketio/async_server.py:639–671  ·  view source on GitHub ↗

Invoke an application event handler.

(self, event, namespace, *args)

Source from the content-addressed store, hash-verified

637 await self.manager.trigger_callback(sid, id, data)
638
639 async def _trigger_event(self, event, namespace, *args):
640 """Invoke an application event handler."""
641 # first see if we have an explicit handler for the event
642 handler, args = self._get_event_handler(event, namespace, args)
643 if handler:
644 if inspect.iscoroutinefunction(handler):
645 try:
646 try:
647 ret = await handler(*args)
648 except TypeError:
649 # legacy disconnect events use only one argument
650 if event == 'disconnect':
651 ret = await handler(*args[:-1])
652 else: # pragma: no cover
653 raise
654 except asyncio.CancelledError: # pragma: no cover
655 ret = None
656 else:
657 try:
658 ret = handler(*args)
659 except TypeError:
660 # legacy disconnect events use only one argument
661 if event == 'disconnect':
662 ret = handler(*args[:-1])
663 else: # pragma: no cover
664 raise
665 return ret
666 # or else, forward the event to a namespace handler if one exists
667 handler, args = self._get_namespace_handler(namespace, args)
668 if handler:
669 return await handler.trigger_event(event, *args)
670 else:
671 return self.not_handled
672
673 async def _handle_eio_connect(self, eio_sid, environ):
674 """Handle the Engine.IO connection event."""

Callers 5

disconnectMethod · 0.95
_handle_connectMethod · 0.95
_handle_disconnectMethod · 0.95

Calls 3

_get_event_handlerMethod · 0.45
trigger_eventMethod · 0.45