Skip to content

factory

appimage_updater.instrumentation.factory

Factory functions for creating HTTP instrumentation components.

create_http_tracker_from_params(params)

Create HTTP tracker based on command parameters.

Parameters:

Name Type Description Default
params CheckParams

Command parameters containing HTTP instrumentation settings

required

Returns:

Type Description
HTTPTracker | None

HTTPTracker instance if instrumentation is enabled, None otherwise

Source code in src/appimage_updater/instrumentation/factory.py
def create_http_tracker_from_params(params: CheckParams) -> HTTPTracker | None:
    """Create HTTP tracker based on command parameters.

    Args:
        params: Command parameters containing HTTP instrumentation settings

    Returns:
        HTTPTracker instance if instrumentation is enabled, None otherwise
    """
    if not params.instrument_http:
        return None

    # Create logger based on debug level
    logger = create_default_http_logger(verbose=True) if params.debug else create_default_http_logger(verbose=False)

    return HTTPTracker(stack_depth=params.http_stack_depth, track_headers=params.http_track_headers, logger=logger)

create_silent_http_tracker(stack_depth=3, track_headers=False)

Create HTTP tracker with silent logging for testing.

Parameters:

Name Type Description Default
stack_depth int

Number of stack frames to capture

3
track_headers bool

Whether to track request headers

False

Returns:

Type Description
HTTPTracker

HTTPTracker with silent logging

Source code in src/appimage_updater/instrumentation/factory.py
def create_silent_http_tracker(stack_depth: int = 3, track_headers: bool = False) -> HTTPTracker:
    """Create HTTP tracker with silent logging for testing.

    Args:
        stack_depth: Number of stack frames to capture
        track_headers: Whether to track request headers

    Returns:
        HTTPTracker with silent logging
    """
    silent_logger = create_silent_http_logger()
    return HTTPTracker(stack_depth=stack_depth, track_headers=track_headers, logger=silent_logger)

create_verbose_http_tracker(stack_depth=3, track_headers=False)

Create HTTP tracker with verbose logging.

Parameters:

Name Type Description Default
stack_depth int

Number of stack frames to capture

3
track_headers bool

Whether to track request headers

False

Returns:

Type Description
HTTPTracker

HTTPTracker with verbose logging

Source code in src/appimage_updater/instrumentation/factory.py
def create_verbose_http_tracker(stack_depth: int = 3, track_headers: bool = False) -> HTTPTracker:
    """Create HTTP tracker with verbose logging.

    Args:
        stack_depth: Number of stack frames to capture
        track_headers: Whether to track request headers

    Returns:
        HTTPTracker with verbose logging
    """
    verbose_logger = create_default_http_logger(verbose=True)
    return HTTPTracker(stack_depth=stack_depth, track_headers=track_headers, logger=verbose_logger)