Log errors when calling whoami for new clients
This commit is contained in:
parent
a4253eceb2
commit
ed046bcbfe
1 changed files with 10 additions and 1 deletions
|
@ -16,6 +16,7 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from json import JSONDecodeError
|
from json import JSONDecodeError
|
||||||
|
import logging
|
||||||
|
|
||||||
from aiohttp import web
|
from aiohttp import web
|
||||||
|
|
||||||
|
@ -27,6 +28,8 @@ from ...client import Client
|
||||||
from .base import routes
|
from .base import routes
|
||||||
from .responses import resp
|
from .responses import resp
|
||||||
|
|
||||||
|
log = logging.getLogger("maubot.server.client")
|
||||||
|
|
||||||
|
|
||||||
@routes.get("/clients")
|
@routes.get("/clients")
|
||||||
async def get_clients(_: web.Request) -> web.Response:
|
async def get_clients(_: web.Request) -> web.Response:
|
||||||
|
@ -54,11 +57,13 @@ async def _create_client(user_id: UserID | None, data: dict) -> web.Response:
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
whoami = await new_client.whoami()
|
whoami = await new_client.whoami()
|
||||||
except MatrixInvalidToken:
|
except MatrixInvalidToken as e:
|
||||||
return resp.bad_client_access_token
|
return resp.bad_client_access_token
|
||||||
except MatrixRequestError:
|
except MatrixRequestError:
|
||||||
|
log.warning(f"Failed to get whoami from {homeserver} for new client", exc_info=True)
|
||||||
return resp.bad_client_access_details
|
return resp.bad_client_access_details
|
||||||
except MatrixConnectionError:
|
except MatrixConnectionError:
|
||||||
|
log.warning(f"Failed to connect to {homeserver} for new client", exc_info=True)
|
||||||
return resp.bad_client_connection_details
|
return resp.bad_client_connection_details
|
||||||
if user_id is None:
|
if user_id is None:
|
||||||
existing_client = await Client.get(whoami.user_id)
|
existing_client = await Client.get(whoami.user_id)
|
||||||
|
@ -90,8 +95,12 @@ async def _update_client(client: Client, data: dict, is_login: bool = False) ->
|
||||||
except MatrixInvalidToken:
|
except MatrixInvalidToken:
|
||||||
return resp.bad_client_access_token
|
return resp.bad_client_access_token
|
||||||
except MatrixRequestError:
|
except MatrixRequestError:
|
||||||
|
log.warning(
|
||||||
|
f"Failed to get whoami from homeserver to update client details", exc_info=True
|
||||||
|
)
|
||||||
return resp.bad_client_access_details
|
return resp.bad_client_access_details
|
||||||
except MatrixConnectionError:
|
except MatrixConnectionError:
|
||||||
|
log.warning(f"Failed to connect to homeserver to update client details", exc_info=True)
|
||||||
return resp.bad_client_connection_details
|
return resp.bad_client_connection_details
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
str_err = str(e)
|
str_err = str(e)
|
||||||
|
|
Loading…
Reference in a new issue