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

Method __init__

src/socketio/base_server.py:16–67  ·  view source on GitHub ↗
(self, client_manager=None, logger=False, serializer='default',
                 json=None, async_handlers=True, always_connect=False,
                 namespaces=None, **kwargs)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 3

set_serverMethod · 0.80
onMethod · 0.45

Tested by

no test coverage detected