Skip to content

Httpx logger

httpx_logger

httpx logger

log_request(request: httpx.Request) -> None

simple logger for httpx request event

Source code in src/equities_classifier/clients/httpx_logger.py
def log_request(request: httpx.Request) -> None:
    """simple logger for httpx request event"""

    print("=" * 80)
    print(f">>> {request.method} {request.url}")

    print("--- Request headers ---")
    for name, value in request.headers.multi_items():
        print(f"{name}: {value}")

    if request.content:
        print("--- Request body - content native ---")
        print(request.content)
        print("--- Request body - decode ---")
        print(request.content.decode("utf-8", errors="replace"))

log_response(response: httpx.Response) -> None

simple logger for httpx response event

Source code in src/equities_classifier/clients/httpx_logger.py
def log_response(response: httpx.Response) -> None:
    """simple logger for httpx response event"""

    response.read()

    print(f"<<< {response.status_code} {response.reason_phrase}")
    print(f"HTTP version: {response.http_version}")

    print("--- Response headers ---")
    for name, value in response.headers.multi_items():
        print(f"{name}: {value}")

    print("--- Response body content ---")
    print(response.content)
    print("--- Response body text ---")
    print(response.text)

    print("=" * 80)