corvix.pipeline.base

Shared request primitives for hydration and enrichment pipelines.

Classes

JsonFetchClient

Client capability required by data-enrichment pipelines.

RequestContext

Per-cycle request budget and URL cache.

Module Contents

class corvix.pipeline.base.JsonFetchClient[source][source]

Bases: Protocol

Client capability required by data-enrichment pipelines.

api_base_url: str[source][source]

Trusted base URL of the upstream API (e.g. https://api.github.com).

Providers use this to construct upstream API URLs from trusted config rather than from data received in API responses, which prevents SSRF taint flows.

fetch_json_url(url: str, timeout_seconds: float = 30.0) corvix.types.JsonValue[source][source]

Fetch JSON from a fully-qualified API URL.

class corvix.pipeline.base.RequestContext[source][source]

Per-cycle request budget and URL cache.

max_requests_per_cycle: int[source][source]
url_cache: dict[str, corvix.types.JsonValue][source][source]
request_count: int = 0[source][source]
get_json(client: JsonFetchClient, url: str, timeout_seconds: float) corvix.types.JsonValue[source][source]

Fetch and cache a JSON payload for this cycle.