From af4750a52a58e60469205176b012bafe38f2688a Mon Sep 17 00:00:00 2001 From: Thephaseless Date: Thu, 25 Jul 2024 21:00:11 +0000 Subject: [PATCH] add gracefull errors --- main.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/main.py b/main.py index 3fe5495..c7eaf5c 100644 --- a/main.py +++ b/main.py @@ -12,9 +12,7 @@ from src.models.requests import LinkRequest, LinkResponse from src.utils import logger from src.utils.browser import bypass_cloudflare, new_browser from src.utils.consts import LOG_LEVEL -from src.utils.extentions import download_extentions -download_extentions() app = FastAPI(debug=True) @@ -32,21 +30,25 @@ async def read_item(request: LinkRequest): logger.info(f"Request: {request}") start_time = int(time.time() * 1000) browser = await new_browser() - page = await browser.get(request.url) - await page.bring_to_front() + try: + page = await browser.get(request.url) + await page.bring_to_front() - challenged = await asyncio.wait_for( - bypass_cloudflare(page), timeout=request.maxTimeout - ) + challenged = await asyncio.wait_for( + bypass_cloudflare(page), timeout=request.maxTimeout + ) - logger.info(f"Got webpage: {request.url}") + logger.info(f"Got webpage: {request.url}") - response = await LinkResponse.create( - page=page, - start_timestamp=start_time, - challenged=challenged, - ) - browser.stop() + response = await LinkResponse.create( + page=page, + start_timestamp=start_time, + challenged=challenged, + ) + except asyncio.TimeoutError: + logger.fatal("Couldn't complete the request") + finally: + browser.stop() return response