@maschinenlesbar.org/dip-bundestag-cli
    Preparing search index...

    Interface EngineOptions

    interface EngineOptions {
        baseUrl?: string;
        defaultHeaders?: Record<string, string>;
        maxRedirects?: number;
        maxResponseBytes?: number;
        maxRetries?: number;
        onRetry?: (event: RetryEvent) => void;
        retryDelayMs?: number;
        sleep?: (ms: number) => Promise<void>;
        timeoutMs?: number;
        transport?: Transport;
        userAgent?: string;
    }

    Hierarchy (View Summary)

    Index
    baseUrl?: string

    Base URL of the API: the host (plus any mirror path prefix), without /api/v1, which the client adds. Defaults to https://search.dip.bundestag.de. Checked by validateBaseUrl (baseUrlProblem): a value that does not parse, a scheme other than http(s), a query or fragment, surrounding whitespace, whitespace or control characters inside, and a trailing /api/v1 are a DipValidationError.

    defaultHeaders?: Record<string, string>

    Extra headers sent on every request (e.g. an API key); checked like userAgent.

    maxRedirects?: number

    Number of HTTP redirects (301/302/303/307/308) to follow. Defaults to 5. Any other 3xx, one with a missing or malformed Location, and one past this limit surface as a DipApiError naming the target. An integer 0..MAX_REDIRECTS (10).

    maxResponseBytes?: number

    Hard cap on response body size in bytes (defends against memory exhaustion from a hostile/buggy endpoint). Defaults to 100 MiB; set to 0 for no limit. A non-negative safe integer. Checked on the body of every transport.

    maxRetries?: number

    Number of automatic retries for transient (429/503) responses and reset connections (isTransientNetworkError; GET/HEAD only). Each waits retryDelayMs * attempt, or the response's Retry-After when that is longer (up to MAX_RETRY_AFTER_MS; a longer one is not retried, and the error names it). An integer 0..MAX_RETRIES (10).

    onRetry?: (event: RetryEvent) => void

    Called once per retry, right before the backoff sleep, for each retried 429/503 and reset connection; never when there is no retry. A throw is swallowed.

    retryDelayMs?: number

    Base backoff between retries in milliseconds (grows linearly; default 200, at most MAX_RETRY_AFTER_MS). A Retry-After can lengthen a wait, never shorten it.

    sleep?: (ms: number) => Promise<void>

    Injectable sleep, primarily for deterministic tests.

    timeoutMs?: number

    Time limit per request in milliseconds, covering the whole response body, not only idle gaps (0 disables; at most MAX_TIMEOUT_MS, 2^31 - 1 ms, else DipValidationError). Enforced by the engine for every transport: the transport gets an AbortSignal that fires at the deadline.

    transport?: Transport

    Swappable transport. Defaults to the built-in node http/https transport.

    userAgent?: string

    Value of the User-Agent header (default DEFAULT_USER_AGENT). A blank value, a control character but tab, or a character above U+00FF is rejected with DipValidationError.