fix(agent): tolerate transport errors without requests

This commit is contained in:
Gille 2026-08-11 21:59:27 -06:00 committed by kshitij
parent da1170670b
commit aa3ca1c3be
2 changed files with 14 additions and 2 deletions

View File

@ -46,7 +46,10 @@ def _codex_request_failure_details(error: BaseException) -> tuple[int | None, st
exception_classes.append(type(current).__name__)
if request_body_bytes is None:
request = getattr(current, "request", None)
try:
request = getattr(current, "request", None)
except Exception:
request = None
if request is not None:
try:
content = request.content

View File

@ -9,7 +9,16 @@ import httpx
import pytest
from openai import APIConnectionError
from agent.codex_runtime import run_codex_stream
from agent.codex_runtime import _codex_request_failure_details, run_codex_stream
def test_transport_failure_without_attached_request_reports_unknown_size():
error = httpx.RemoteProtocolError("connection closed")
request_body_bytes, exception_chain = _codex_request_failure_details(error)
assert request_body_bytes is None
assert exception_chain == "RemoteProtocolError"
def test_transport_failure_logs_exact_request_bytes_and_class_chain(caplog):