corvix.pipeline.base ==================== .. py:module:: corvix.pipeline.base .. autoapi-nested-parse:: Shared request primitives for hydration and enrichment pipelines. Classes ------- .. autoapisummary:: corvix.pipeline.base.JsonFetchClient corvix.pipeline.base.RequestContext Module Contents --------------- .. py:class:: JsonFetchClient Bases: :py:obj:`Protocol` Client capability required by data-enrichment pipelines. .. py:attribute:: api_base_url :type: str 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. .. py:method:: fetch_json_url(url: str, timeout_seconds: float = 30.0) -> corvix.types.JsonValue Fetch JSON from a fully-qualified API URL. .. py:class:: RequestContext Per-cycle request budget and URL cache. .. py:attribute:: max_requests_per_cycle :type: int .. py:attribute:: url_cache :type: dict[str, corvix.types.JsonValue] .. py:attribute:: request_count :type: int :value: 0 .. py:method:: get_json(client: JsonFetchClient, url: str, timeout_seconds: float) -> corvix.types.JsonValue Fetch and cache a JSON payload for this cycle.