diff --git a/Dockerfile b/Dockerfile index 8009746c81d332b128e4a3e4ba899f4cbe8694e5..5ceff04fe02aaf5101a0e4546cd25dd714501bf1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3-slim as base +FROM python:3.9-slim as base WORKDIR /document_service ENV PYTHONUNBUFFERED True diff --git a/src/prozorro_sale/document_service/utils.py b/src/prozorro_sale/document_service/utils.py index d1eab193aebb1904fa935fad1abe4d8e22633918..b1f5d6a7bef89a51a31c54bc2ce5d0d9d122e3ee 100644 --- a/src/prozorro_sale/document_service/utils.py +++ b/src/prozorro_sale/document_service/utils.py @@ -2,7 +2,7 @@ import sys import asyncio from aiohttp import web -from aiohttp.client_exceptions import ClientConnectorError, ServerTimeoutError, ClientPayloadError +from aiohttp.client_exceptions import ClientConnectorError, ClientPayloadError, ClientResponseError, ServerTimeoutError from aiohttp.web_response import Response from prozorro_sale.document_service import errors @@ -55,6 +55,12 @@ async def excepts_errors_middleware(request, handler): data={'error': 'Remote storage broken. Please try again later.'}, status=424 ) + except ClientResponseError as ex: + LOG.warning(f'Storage response error:\n{ex}', stack_info=False) + return web.json_response( + data={'error': 'Remote storage response cannot be parsed. Please try again later.'}, + status=424 + ) def critical(func):