(self, client_manager=None, logger=False, serializer='default',
json=None, async_handlers=True, always_connect=False,
namespaces=None, **kwargs)
| 14 | reason = engineio.Server.reason |
| 15 | |
| 16 | def __init__(self, client_manager=None, logger=False, serializer='default', |
| 17 | json=None, async_handlers=True, always_connect=False, |
| 18 | namespaces=None, **kwargs): |
| 19 | engineio_options = kwargs |
| 20 | engineio_logger = engineio_options.pop('engineio_logger', None) |
| 21 | if engineio_logger is not None: |
| 22 | engineio_options['logger'] = engineio_logger |
| 23 | if serializer == 'default': |
| 24 | self.packet_class = packet.Packet |
| 25 | elif serializer == 'msgpack': |
| 26 | from . import msgpack_packet |
| 27 | self.packet_class = msgpack_packet.MsgPackPacket |
| 28 | else: |
| 29 | self.packet_class = serializer |
| 30 | if json is not None: |
| 31 | self.packet_class.json = json |
| 32 | engineio_options['json'] = json |
| 33 | engineio_options['async_handlers'] = False |
| 34 | self.eio = self._engineio_server_class()(**engineio_options) |
| 35 | self.eio.on('connect', self._handle_eio_connect) |
| 36 | self.eio.on('message', self._handle_eio_message) |
| 37 | self.eio.on('disconnect', self._handle_eio_disconnect) |
| 38 | |
| 39 | self.environ = {} |
| 40 | self.handlers = {} |
| 41 | self.namespace_handlers = {} |
| 42 | self.not_handled = object() |
| 43 | |
| 44 | self._binary_packet = {} |
| 45 | |
| 46 | if not isinstance(logger, bool): |
| 47 | self.logger = logger |
| 48 | else: |
| 49 | self.logger = default_logger |
| 50 | if self.logger.level == logging.NOTSET: |
| 51 | if logger: |
| 52 | self.logger.setLevel(logging.INFO) |
| 53 | else: |
| 54 | self.logger.setLevel(logging.ERROR) |
| 55 | self.logger.addHandler(logging.StreamHandler()) |
| 56 | |
| 57 | if client_manager is None: |
| 58 | client_manager = manager.Manager() |
| 59 | self.manager = client_manager |
| 60 | self.manager.set_server(self) |
| 61 | self.manager_initialized = False |
| 62 | |
| 63 | self.async_handlers = async_handlers |
| 64 | self.always_connect = always_connect |
| 65 | self.namespaces = namespaces or ['/'] |
| 66 | |
| 67 | self.async_mode = self.eio.async_mode |
| 68 | |
| 69 | def is_asyncio_based(self): |
| 70 | return False |
nothing calls this directly
no test coverage detected