| 391 | self.eio.disconnect() |
| 392 | |
| 393 | def _handle_event(self, namespace, id, data): |
| 394 | namespace = namespace or '/' |
| 395 | self.logger.info('Received event "%s" [%s]', data[0], namespace) |
| 396 | r = self._trigger_event(data[0], namespace, *data[1:]) |
| 397 | if id is not None: |
| 398 | # send ACK packet with the response returned by the handler |
| 399 | # tuples are expanded as multiple arguments |
| 400 | if r is None: |
| 401 | data = [] |
| 402 | elif isinstance(r, tuple): |
| 403 | data = list(r) |
| 404 | else: |
| 405 | data = [r] |
| 406 | self._send_packet(self.packet_class( |
| 407 | packet.ACK, namespace=namespace, id=id, data=data)) |
| 408 | |
| 409 | def _handle_ack(self, namespace, id, data): |
| 410 | namespace = namespace or '/' |