forked from platformio/platformio-core
Report detailed server error to PIO Home frontend
This commit is contained in:
@ -33,11 +33,11 @@ class IDERPC:
|
|||||||
{"id": time.time(), "method": command, "params": params}
|
{"id": time.time(), "method": command, "params": params}
|
||||||
)
|
)
|
||||||
|
|
||||||
def listen_commands(self, sid=0):
|
async def listen_commands(self, sid=0):
|
||||||
if sid not in self._queue:
|
if sid not in self._queue:
|
||||||
self._queue[sid] = []
|
self._queue[sid] = []
|
||||||
self._queue[sid].append(get_running_loop().create_future())
|
self._queue[sid].append(get_running_loop().create_future())
|
||||||
return self._queue[sid][-1]
|
return await self._queue[sid][-1]
|
||||||
|
|
||||||
def open_project(self, sid, project_dir):
|
def open_project(self, sid, project_dir):
|
||||||
return self.send_command(sid, "open_project", project_dir)
|
return self.send_command(sid, "open_project", project_dir)
|
||||||
|
@ -28,7 +28,9 @@ class JSONRPCServerFactoryBase:
|
|||||||
|
|
||||||
def __init__(self, shutdown_timeout=0):
|
def __init__(self, shutdown_timeout=0):
|
||||||
self.shutdown_timeout = shutdown_timeout
|
self.shutdown_timeout = shutdown_timeout
|
||||||
self.manager = AsyncJSONRPCResponseManager(Dispatcher())
|
self.manager = AsyncJSONRPCResponseManager(
|
||||||
|
Dispatcher(), is_server_error_verbose=True
|
||||||
|
)
|
||||||
|
|
||||||
def __call__(self, *args, **kwargs):
|
def __call__(self, *args, **kwargs):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
@ -91,5 +93,5 @@ class WebSocketJSONRPCServer(WebSocketEndpoint):
|
|||||||
# pylint: disable=no-member
|
# pylint: disable=no-member
|
||||||
response = await self.factory.manager.get_response_for_payload(data)
|
response = await self.factory.manager.get_response_for_payload(data)
|
||||||
if response.error:
|
if response.error:
|
||||||
click.secho("Error: %s" % response.error.message, fg="red", err=True)
|
click.secho("Error: %s" % response.error.data, fg="red", err=True)
|
||||||
await websocket.send_text(self.factory.manager.serialize(response.body))
|
await websocket.send_text(self.factory.manager.serialize(response.body))
|
||||||
|
Reference in New Issue
Block a user