Skip to content

ccproxy.plugins.request_tracer.plugin

ccproxy.plugins.request_tracer.plugin

Request Tracer plugin implementation - after refactoring.

RequestTracerRuntime

RequestTracerRuntime(manifest)

Bases: SystemPluginRuntime

Runtime for the request tracer plugin.

Handles only REQUEST_* events via a hook. HTTP events are managed by the core HTTPTracerHook.

Source code in ccproxy/plugins/request_tracer/plugin.py
def __init__(self, manifest: PluginManifest):
    """Initialize runtime."""
    super().__init__(manifest)
    self.config: RequestTracerConfig | None = None
    self.hook: RequestTracerHook | None = None
    self.http_tracer_hook: HTTPTracerHook | None = None

RequestTracerFactory

RequestTracerFactory()

Bases: SystemPluginFactory

factory for request tracer plugin.

Source code in ccproxy/plugins/request_tracer/plugin.py
def __init__(self) -> None:
    """Initialize factory with manifest."""
    # Create manifest with static declarations ( from original)
    manifest = PluginManifest(
        name="request_tracer",
        version="0.1.0",  # Standardized initial plugin version
        description=" request tracing for REQUEST_* events only",
        is_provider=False,
        config_class=RequestTracerConfig,
    )

    # Initialize with manifest
    super().__init__(manifest)

create_runtime

create_runtime()

Create runtime instance.

Source code in ccproxy/plugins/request_tracer/plugin.py
def create_runtime(self) -> RequestTracerRuntime:
    """Create runtime instance."""
    return RequestTracerRuntime(self.manifest)

create_context

create_context(core_services)

Create context for the plugin.

Source code in ccproxy/plugins/request_tracer/plugin.py
def create_context(self, core_services: Any) -> Any:
    """Create context for the plugin."""
    # Get base context from parent
    context = super().create_context(core_services)

    return context