Mercurial > code > home > repos > light9
changeset 2234:e8401b82e6bc
attempt to deal with ClientDisconnect, which was spamming logs
author | drewp@bigasterisk.com |
---|---|
date | Wed, 24 May 2023 14:10:15 -0700 |
parents | a6c5b87890ae |
children | f9edd9819b7d |
files | light9/collector/service.py |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/light9/collector/service.py Wed May 24 13:14:30 2023 -0700 +++ b/light9/collector/service.py Wed May 24 14:10:15 2023 -0700 @@ -22,6 +22,7 @@ from rdfdb.syncedgraph.syncedgraph import SyncedGraph from starlette.applications import Starlette from starlette.endpoints import WebSocketEndpoint +from starlette.requests import ClientDisconnect from starlette.responses import Response from starlette.routing import Route, WebSocketRoute from starlette.types import Receive, Scope, Send @@ -57,7 +58,12 @@ async def PutAttrs(collector: Collector, request): with STAT_SETATTR.time(): - client, clientSession, settings, sendTime = parseJsonMessage(collector.graph, await request.body()) + try: + body = await request.body() + except ClientDisconnect: + log.warning("PUT /attrs request disconnected- ignoring") + return Response('', status_code=400) + client, clientSession, settings, sendTime = parseJsonMessage(collector.graph, body) collector.setAttrs(client, clientSession, settings, sendTime) return Response('', status_code=202)