From cbc2739c0c633ea477727ec3eb2f8a3862fa08f3 Mon Sep 17 00:00:00 2001 From: Jerrett Davis Date: Thu, 13 Aug 2026 20:50:27 -0500 Subject: [PATCH] refactor(proxy): remove unreachable buffered task cleanup --- headroom/proxy/handlers/anthropic.py | 70 ++++++++++++---------------- headroom/proxy/handlers/openai.py | 68 ++++++++++++--------------- 2 files changed, 59 insertions(+), 79 deletions(-) diff --git a/headroom/proxy/handlers/anthropic.py b/headroom/proxy/handlers/anthropic.py index 421fd4698..79045fa84 100644 --- a/headroom/proxy/handlers/anthropic.py +++ b/headroom/proxy/handlers/anthropic.py @@ -4326,46 +4326,36 @@ class AnthropicHandlerMixin: # budget minutes for a turn (Claude Code sends # `x-stainless-timeout: 600`), so waiting is free. try: - try: - result = await operation - except Exception as e: - await record_failed(provider=provider_name) - logger.error( - f"[{request_id}] Request failed: {type(e).__name__}: {e}" - ) - await send( - { - "type": "http.response.start", - "status": 502, - "headers": [(b"content-type", b"application/json")], - } - ) - await send( - { - "type": "http.response.body", - "body": json.dumps( - { - "type": "error", - "error": { - "type": "api_error", - "message": "An error occurred while processing your request. Please try again.", - }, - } - ).encode(), - "more_body": False, - } - ) - return - await result(scope, receive, send) - finally: - if not operation.done(): - operation.cancel() - try: - await operation - except asyncio.CancelledError: - pass - except Exception: - pass + result = await operation + except Exception as e: + await record_failed(provider=provider_name) + logger.error( + f"[{request_id}] Request failed: {type(e).__name__}: {e}" + ) + await send( + { + "type": "http.response.start", + "status": 502, + "headers": [(b"content-type", b"application/json")], + } + ) + await send( + { + "type": "http.response.body", + "body": json.dumps( + { + "type": "error", + "error": { + "type": "api_error", + "message": "An error occurred while processing your request. Please try again.", + }, + } + ).encode(), + "more_body": False, + } + ) + return + await result(scope, receive, send) return _BufferedCCRResponse(media_type="text/event-stream") return await _buffered_ccr_operation() diff --git a/headroom/proxy/handlers/openai.py b/headroom/proxy/handlers/openai.py index 2f176edc4..c011b4984 100644 --- a/headroom/proxy/handlers/openai.py +++ b/headroom/proxy/handlers/openai.py @@ -6185,46 +6185,36 @@ class OpenAIHandlerMixin: # body and discards the status the client needs to back # off on. try: - try: - result = await operation - except Exception as e: - await record_failed(provider="openai") - logger.error( - f"[{request_id}] OpenAI responses request failed: {type(e).__name__}: {e}" - ) - await send( - { - "type": "http.response.start", - "status": 502, - "headers": [(b"content-type", b"application/json")], - } - ) - await send( - { - "type": "http.response.body", - "body": json.dumps( - { - "error": { - "message": "An error occurred while processing your request. Please try again.", - "type": "server_error", - "code": "proxy_error", - } + result = await operation + except Exception as e: + await record_failed(provider="openai") + logger.error( + f"[{request_id}] OpenAI responses request failed: {type(e).__name__}: {e}" + ) + await send( + { + "type": "http.response.start", + "status": 502, + "headers": [(b"content-type", b"application/json")], + } + ) + await send( + { + "type": "http.response.body", + "body": json.dumps( + { + "error": { + "message": "An error occurred while processing your request. Please try again.", + "type": "server_error", + "code": "proxy_error", } - ).encode(), - "more_body": False, - } - ) - return - await result(scope, receive, send) - finally: - if not operation.done(): - operation.cancel() - try: - await operation - except asyncio.CancelledError: - pass - except Exception: - pass + } + ).encode(), + "more_body": False, + } + ) + return + await result(scope, receive, send) return _BufferedCCRResponse(media_type="text/event-stream") return await _buffered_ccr_operation()