def disconnect(self, close_code): LOGGER.warn("JanusWebConsumer: Closed with code: {}".format(close_code)) if self.printer: async_to_sync(self.channel_layer.group_discard)( channels.janus_web_group_name(self.printer.id), self.channel_name )
def connect(self): self.printer = None self.printer = self.get_printer() async_to_sync(self.channel_layer.group_add)( channels.janus_web_group_name(self.printer.id), self.channel_name) self.accept('janus-protocol')
def connect(self): self.printer_id = self.scope['url_route']['kwargs']['printer_id'] try: async_to_sync(self.channel_layer.group_add)( channels.janus_web_group_name(self.printer_id), self.channel_name) self.accept('janus-protocol') except: self.close()
def connect(self): try: if self.scope['path'].startswith('/ws/share_token/') or self.scope['path'].startswith('/ws/token/'): self.printer = self.scope['user'] else: # Exception for un-authenticated or un-authorized access self.printer = Printer.objects.get(user=self.scope['user'], id=self.scope['url_route']['kwargs']['printer_id']) async_to_sync(self.channel_layer.group_add)( channels.janus_web_group_name(self.printer.id), self.channel_name ) self.accept('janus-protocol') except: LOGGER.exception("Websocket failed to connect") self.close()
def receive(self, text_data=None, bytes_data=None): channels.touch_channel(channels.janus_web_group_name(self.printer.id), self.channel_name) channels.send_msg_to_printer(self.printer.id, {'janus': text_data})