Skip to content

ccproxy.plugins.command_replay.hook

ccproxy.plugins.command_replay.hook

Hook implementation for command replay generation.

CommandReplayHook

CommandReplayHook(config=None, file_formatter=None)

Bases: Hook

Hook for generating curl and xh command replays of provider requests.

Listens for PROVIDER_REQUEST_PREPARED events and generates command line equivalents that can be used to replay the exact same HTTP requests.

Parameters:

Name Type Description Default
config CommandReplayConfig | None

Command replay configuration

None
file_formatter CommandFileFormatter | None

File formatter for writing commands to files

None
Source code in ccproxy/plugins/command_replay/hook.py
def __init__(
    self,
    config: CommandReplayConfig | None = None,
    file_formatter: CommandFileFormatter | None = None,
) -> None:
    """Initialize the command replay hook.

    Args:
        config: Command replay configuration
        file_formatter: File formatter for writing commands to files
    """
    self.config = config or CommandReplayConfig()
    self.file_formatter = file_formatter

    logger.debug(
        "command_replay_hook_initialized",
        enabled=self.config.enabled,
        generate_curl=self.config.generate_curl,
        generate_xh=self.config.generate_xh,
        include_patterns=self.config.include_url_patterns,
        only_provider_requests=self.config.only_provider_requests,
        include_client_requests=self.config.include_client_requests,
        write_to_files=self.config.write_to_files,
        log_dir=self.config.log_dir,
    )