From 6b0da3cc5e5c006d45a8c5243f0ef485a5443770 Mon Sep 17 00:00:00 2001 From: Alvaro Santos Andres Date: Fri, 25 Jul 2025 14:38:22 +0000 Subject: [PATCH] fix: add more logging to debug errors --- src/endpoints.py | 73 +++++++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/src/endpoints.py b/src/endpoints.py index 74361dd..6c40b9f 100644 --- a/src/endpoints.py +++ b/src/endpoints.py @@ -48,39 +48,48 @@ def health_check(sb: SeleniumDep): def read_item(request: LinkRequest, sb: SeleniumDep) -> LinkResponse: """Handle POST requests.""" start_time = int(time.time() * 1000) - request.url = request.url.replace('"', "").strip() - sb.uc_open_with_reconnect(request.url) - logger.debug(f"Got webpage: {request.url}") - source_bs = sb.get_beautiful_soup() - title_tag = source_bs.title - if title_tag and title_tag.string in CHALLENGE_TITLES: - logger.debug("Challenge detected") - sb.uc_gui_click_captcha() - logger.info("Clicked captcha") - if sb.get_title() in CHALLENGE_TITLES: - save_screenshot(sb) - raise HTTPException(status_code=500, detail="Could not bypass challenge") + try: + request.url = request.url.replace('"', "").strip() + sb.uc_open_with_reconnect(request.url) - cookies = sb.get_cookies() - for cookie in cookies: - name = cookie["name"] - value = cookie["value"] - cookie["size"] = len(f"{name}={value}".encode()) + logger.debug(f"Got webpage: {request.url}") - cookie["session"] = False - if "expiry" in cookie: - cookie["expires"] = cookie["expiry"] + source_bs = sb.get_beautiful_soup() + title_tag = source_bs.title - return LinkResponse( - message="Success", - solution=Solution( - user_agent=sb.get_user_agent(), - url=sb.get_current_url(), - status=200, - cookies=cookies, - headers={}, - response=str(sb.get_beautiful_soup()), - ), - start_timestamp=start_time, - ) + if title_tag and title_tag.string in CHALLENGE_TITLES: + logger.debug("Challenge detected") + sb.uc_gui_click_captcha() + logger.info("Clicked captcha") + + if sb.get_title() in CHALLENGE_TITLES: + save_screenshot(sb) + + raise HTTPException(status_code=500, detail="Could not bypass challenge") + + cookies = sb.get_cookies() + for cookie in cookies: + name = cookie["name"] + value = cookie["value"] + cookie["size"] = len(f"{name}={value}".encode()) + + cookie["session"] = False + if "expiry" in cookie: + cookie["expires"] = cookie["expiry"] + + return LinkResponse( + message="Success", + solution=Solution( + user_agent=sb.get_user_agent(), + url=sb.get_current_url(), + status=200, + cookies=cookies, + headers={}, + response=str(sb.get_beautiful_soup()), + ), + start_timestamp=start_time, + ) + except Exception as e: + logger.error(f"Error processing request: {e}", exc_info=True) + raise