Report detailed server error to PIO Home frontend

This commit is contained in:
Ivan Kravets
2021-03-01 17:59:40 +02:00
parent 560cb3ac82
commit 3996236729
3 changed files with 7 additions and 5 deletions

View File

@ -33,11 +33,11 @@ class IDERPC:
{"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:
self._queue[sid] = []
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):
return self.send_command(sid, "open_project", project_dir)

View File

@ -28,7 +28,9 @@ class JSONRPCServerFactoryBase:
def __init__(self, shutdown_timeout=0):
self.shutdown_timeout = shutdown_timeout
self.manager = AsyncJSONRPCResponseManager(Dispatcher())
self.manager = AsyncJSONRPCResponseManager(
Dispatcher(), is_server_error_verbose=True
)
def __call__(self, *args, **kwargs):
raise NotImplementedError
@ -91,5 +93,5 @@ class WebSocketJSONRPCServer(WebSocketEndpoint):
# pylint: disable=no-member
response = await self.factory.manager.get_response_for_payload(data)
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))

View File

@ -43,7 +43,7 @@ if not PY2:
home_requirements = [
"aiofiles==0.6.*",
"ajsonrpc==1.0.*",
"ajsonrpc==1.1.*",
"starlette==0.14.*",
"uvicorn==0.13.*",
"wsproto==1.0.*",