def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) self.debugger_store().chrome_channel.setSocket(self) common_domain_args = {'debugger_store': self.debugger_store()} runtime_domain = RuntimeDomain(**common_domain_args) debugger_domain = DebuggerDomain(runtime_domain, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), debugger_domain, PageDomain(**common_domain_args), runtime_domain, )
class DebuggerWebSocket(WebSocket): # List of HandlerDomainSets for the server to respond to reqs with. def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) self.debugger_store().chrome_channel.setSocket(self) common_domain_args = {'debugger_store': self.debugger_store()} runtime_domain = RuntimeDomain(**common_domain_args) debugger_domain = DebuggerDomain(runtime_domain, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), debugger_domain, PageDomain(**common_domain_args), runtime_domain, ) @staticmethod def debugger_store(): """The ChromeDevToolsDebugger instance associated with this handler. """ raise NotImplementedError() def _generate_response(self, message): response = {} try: response['id'] = message['id'] response['result'] = self.handlers.handle( method=str(message['method']), params=message.get('params', {}), ) except UndefinedDomainError as e: response['error'] = 'Undefined domain: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except UndefinedHandlerError as e: response['error'] = 'Undefined handler: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except Exception as e: response['error'] = repr(e) response['result'] = {} response['stack'] = traceback.format_exc() traceback.print_exc(file=sys.stderr) return response def received_message(self, message): log_debug('received_message: %s' % message.data) parsed = None try: parsed = json.loads(message.data) except Exception: # Print invalid JSON requests to stderr. log_error('Invalid JSON: %s' % message) response = self._generate_response(parsed) response_in_json = json.dumps(response) log_debug('response: %s' % response_in_json) self.send(response_in_json)
def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) common_domain_args = { 'debugger': self.debugger(), 'socket': self, } file_manager = FileManager(self) remote_object_manager = RemoteObjectManager() runtime_domain = RuntimeDomain(remote_object_manager, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), DebuggerDomain(runtime_domain, file_manager, remote_object_manager, basepath=self.basepath(), **common_domain_args), PageDomain(**common_domain_args), runtime_domain, )
def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) self.debugger_store().chrome_channel.setSocket(self) common_domain_args = { 'debugger_store': self.debugger_store() } runtime_domain = RuntimeDomain(**common_domain_args) debugger_domain = DebuggerDomain( runtime_domain, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), debugger_domain, PageDomain(**common_domain_args), runtime_domain, )
def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) common_domain_args = { 'debugger': self.debugger(), 'socket': self, } file_manager = FileManager(self) remote_object_manager = RemoteObjectManager() runtime_domain = RuntimeDomain( remote_object_manager, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), DebuggerDomain( runtime_domain, file_manager, remote_object_manager, basepath=self.basepath(), **common_domain_args), PageDomain(**common_domain_args), runtime_domain, )
class DebuggerWebSocket(WebSocket): # List of HandlerDomainSets for the server to respond to reqs with. def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) channel = self.debugger_store().channel channel.setSocket(self) common_domain_args = { 'debugger_store': self.debugger_store() } runtime_domain = RuntimeDomain(**common_domain_args) debugger_domain = DebuggerDomain( runtime_domain, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), debugger_domain, PageDomain(**common_domain_args), runtime_domain, ) @staticmethod def debugger_store(): """The ChromeDevToolsDebugger instance associated with this handler. """ raise NotImplementedError() def _generate_response(self, message): response = {} try: response['id'] = message['id'] response['result'] = self.handlers.handle( method=str(message['method']), params=message.get('params', {}), ) except UndefinedDomainError as e: response['error'] = 'Undefined domain: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except UndefinedHandlerError as e: response['error'] = 'Undefined handler: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except Exception as e: response['error'] = repr(e) response['result'] = {} response['stack'] = traceback.format_exc() traceback.print_exc(file=sys.stderr) return response def received_message(self, message): log_debug('received_message: %s' % message.data); parsed = None try: parsed = json.loads(message.data) except Exception: # Print invalid JSON requests to stderr. log_error('Invalid JSON: %s' % message) response = self._generate_response(parsed) response_in_json = json.dumps(response); log_debug('response: %s' % response_in_json); self.send(response_in_json)
class DebuggerWebSocket(WebSocket): # List of HandlerDomainSets for the server to respond to reqs with. def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) common_domain_args = { 'debugger': self.debugger(), 'socket': self, } file_manager = FileManager(self) remote_object_manager = RemoteObjectManager() runtime_domain = RuntimeDomain( remote_object_manager, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), DebuggerDomain( runtime_domain, file_manager, remote_object_manager, basepath=self.basepath(), **common_domain_args), PageDomain(**common_domain_args), runtime_domain, ) @staticmethod def debugger(): """The ChromeDevToolsDebugger instance associated with this handler. """ raise NotImplementedError() @staticmethod def basepath(): raise NotImplementedError() def _generate_response(self, message): response = {} try: response['id'] = message['id'] response['result'] = self.handlers.handle( method=str(message['method']), params=message.get('params', {}), ) except UndefinedDomainError as e: response['error'] = 'Undefined domain: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except UndefinedHandlerError as e: response['error'] = 'Undefined handler: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except Exception as e: response['error'] = repr(e) response['result'] = {} response['stack'] = traceback.format_exc() traceback.print_exc(file=sys.stderr) return response def received_message(self, message): log_debug('received_message: %s' % message.data); parsed = None try: parsed = json.loads(message.data) except Exception: # Print invalid JSON requests to stderr. log_error('Invalid JSON: %s' % message) response = self._generate_response(parsed) response_in_json = json.dumps(response); log_debug('response: %s' % response_in_json); self.send(response_in_json) def send_notification(self, method, params=None): """ Send a notification over the socket to a Chrome Dev Tools client. """ notification_in_json = json.dumps({'method': method, 'params': params}); log_debug('send_notification: %s' % notification_in_json); self.send(notification_in_json)
class DebuggerWebSocket(WebSocket): # List of HandlerDomainSets for the server to respond to reqs with. def __init__(self, *args, **kwargs): WebSocket.__init__(self, *args, **kwargs) common_domain_args = { 'debugger': self.debugger(), 'socket': self, } file_manager = FileManager(self) remote_object_manager = RemoteObjectManager() runtime_domain = RuntimeDomain(remote_object_manager, **common_domain_args) self.handlers = HandlerDomainSet( ConsoleDomain(**common_domain_args), DebuggerDomain(runtime_domain, file_manager, remote_object_manager, basepath=self.basepath(), **common_domain_args), PageDomain(**common_domain_args), runtime_domain, ) @staticmethod def debugger(): """The ChromeDevToolsDebugger instance associated with this handler. """ raise NotImplementedError() @staticmethod def basepath(): raise NotImplementedError() def _generate_response(self, message): response = {} try: response['id'] = message['id'] response['result'] = self.handlers.handle( method=str(message['method']), params=message.get('params', {}), ) except UndefinedDomainError as e: response['error'] = 'Undefined domain: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except UndefinedHandlerError as e: response['error'] = 'Undefined handler: %s' % str(e) response['result'] = {} log_debug('Received message with %s' % response['error']) except Exception as e: response['error'] = repr(e) response['result'] = {} response['stack'] = traceback.format_exc() traceback.print_exc(file=sys.stderr) return response def received_message(self, message): log_debug('received_message: %s' % message.data) parsed = None try: parsed = json.loads(message.data) except Exception: # Print invalid JSON requests to stderr. log_error('Invalid JSON: %s' % message) response = self._generate_response(parsed) response_in_json = json.dumps(response) log_debug('response: %s' % response_in_json) self.send(response_in_json) def send_notification(self, method, params=None): """ Send a notification over the socket to a Chrome Dev Tools client. """ notification_in_json = json.dumps({ 'method': method, 'params': params }) log_debug('send_notification: %s' % notification_in_json) self.send(notification_in_json)