Skip to content

Config

provide.foundation.transport.config

TODO: Add module docstring.

Classes

HTTPConfig

Bases: TransportConfig

HTTP-specific configuration.

TransportConfig

Bases: RuntimeConfig

Base configuration for all transports.

Functions

register_transport_configs

register_transport_configs() -> None

Register transport configurations with the global ConfigManager.

Source code in provide/foundation/transport/config.py
def register_transport_configs() -> None:
    """Register transport configurations with the global ConfigManager."""
    try:
        # Register TransportConfig
        register_config(
            name="transport",
            config=None,  # Will be loaded on demand
            loader=RuntimeConfigLoader(prefix="PROVIDE_TRANSPORT"),
            defaults={
                "timeout": 30.0,
                "max_retries": 3,
                "retry_backoff_factor": 0.5,
                "verify_ssl": True,
            },
        )

        # Register HTTPConfig
        register_config(
            name="transport.http",
            config=None,  # Will be loaded on demand
            loader=RuntimeConfigLoader(prefix="PROVIDE_HTTP"),
            defaults={
                "timeout": 30.0,
                "max_retries": 3,
                "retry_backoff_factor": 0.5,
                "verify_ssl": True,
                "pool_connections": 10,
                "pool_maxsize": 100,
                "follow_redirects": True,
                "http2": False,
                "max_redirects": 5,
            },
        )

        log.trace("Successfully registered transport configurations with ConfigManager")

    except Exception as e:
        log.warning("Failed to register transport configurations", error=str(e))