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

Method _trigger_event

src/socketio/async_client.py:464–497  ·  view source on GitHub ↗

Invoke an application event handler.

(self, event, namespace, *args)

Source from the content-addressed store, hash-verified

462 self.connected = False
463
464 async def _trigger_event(self, event, namespace, *args):
465 """Invoke an application event handler."""
466 # first see if we have an explicit handler for the event
467 handler, args = self._get_event_handler(event, namespace, args)
468 if handler:
469 if inspect.iscoroutinefunction(handler):
470 try:
471 try:
472 ret = await handler(*args)
473 except TypeError:
474 # the legacy disconnect event does not take a reason
475 # argument
476 if event == 'disconnect':
477 ret = await handler(*args[:-1])
478 else: # pragma: no cover
479 raise
480 except asyncio.CancelledError: # pragma: no cover
481 ret = None
482 else:
483 try:
484 ret = handler(*args)
485 except TypeError:
486 # the legacy disconnect event does not take a reason
487 # argument
488 if event == 'disconnect':
489 ret = handler(*args[:-1])
490 else: # pragma: no cover
491 raise
492 return ret
493
494 # or else, forward the event to a namespace handler if one exists
495 handler, args = self._get_namespace_handler(namespace, args)
496 if handler:
497 return await handler.trigger_event(event, *args)
498
499 async def _handle_reconnect(self):
500 if self._reconnect_abort is None: # pragma: no cover

Callers 14

connectMethod · 0.95
_handle_connectMethod · 0.95
_handle_disconnectMethod · 0.95
_handle_eventMethod · 0.95
_handle_errorMethod · 0.95
_handle_reconnectMethod · 0.95
test_trigger_eventMethod · 0.95

Calls 3

_get_event_handlerMethod · 0.45
trigger_eventMethod · 0.45