Skip to content

http_trace

appimage_updater.core.http_trace

Simple HTTP tracing utilities for debugging network requests.

HTTPTraceImpl(output_formatter=None)

Simple HTTP request tracer implementation.

Source code in src/appimage_updater/core/http_trace.py
def __init__(self, output_formatter: Any = None):
    self.enabled = False
    self.output_formatter = output_formatter

enabled = False instance-attribute

output_formatter = output_formatter instance-attribute

set_output_formatter(output_formatter)

Set the output formatter for trace messages.

Source code in src/appimage_updater/core/http_trace.py
def set_output_formatter(self, output_formatter: Any) -> None:
    """Set the output formatter for trace messages."""
    self.output_formatter = output_formatter

trace_error(method, url, error, elapsed)

Print trace message for HTTP error.

Parameters:

Name Type Description Default
method str

HTTP method (GET, POST, etc.)

required
url str

URL that was requested

required
error Exception

Exception that occurred

required
elapsed float

Time elapsed in seconds

required
Source code in src/appimage_updater/core/http_trace.py
def trace_error(self, method: str, url: str, error: Exception, elapsed: float) -> None:
    """Print trace message for HTTP error.

    Args:
        method: HTTP method (GET, POST, etc.)
        url: URL that was requested
        error: Exception that occurred
        elapsed: Time elapsed in seconds
    """
    if not (self.enabled and self.output_formatter):
        return

    error_msg = self._format_error_message(error)
    self.output_formatter.print_message(f"HTTP {method.upper()} {url} -> {error_msg} ({elapsed:.3f}s)")

trace_request(method, url)

Print trace message for HTTP request start.

Source code in src/appimage_updater/core/http_trace.py
def trace_request(self, method: str, url: str) -> None:
    """Print trace message for HTTP request start."""
    if self.enabled and self.output_formatter:
        self.output_formatter.print_message(f"HTTP {method.upper()} {url}")

trace_response(method, url, status_code, elapsed)

Print trace message for HTTP response.

Source code in src/appimage_updater/core/http_trace.py
def trace_response(self, method: str, url: str, status_code: int, elapsed: float) -> None:
    """Print trace message for HTTP response."""
    if self.enabled and self.output_formatter:
        self.output_formatter.print_message(f"HTTP {method.upper()} {url} -> {status_code} ({elapsed:.3f}s)")

getHTTPTrace(output_formatter=None)

Singleton HTTP trace instance factory.

Source code in src/appimage_updater/core/http_trace.py
def getHTTPTrace(output_formatter: Any = None) -> HTTPTraceImpl:  # noqa: N802
    """Singleton HTTP trace instance factory."""
    global _http_trace_instance
    if _http_trace_instance is None:
        _http_trace_instance = HTTPTraceImpl(output_formatter)
    elif output_formatter is not None:
        _http_trace_instance.set_output_formatter(output_formatter)
    return _http_trace_instance