@maschinenlesbar.org/destatis-genesis-cli
    Preparing search index...

    Interface EngineOptions

    Options for RequestEngine and the client. The numeric options must be integers within their documented range, and baseUrl an http(s) URL without userinfo, query, fragment or whitespace; anything else (negative, fractional, NaN, Infinity, too large; ftp:, ?x=1, ...) makes the constructor throw a DestatisValidationError before any request.

    interface EngineOptions {
        baseUrl?: string;
        defaultHeaders?: Record<string, string>;
        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. Defaults to https://genesis.destatis.de

    defaultHeaders?: Record<string, string>

    Extra headers sent on every request.

    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; at most Number.MAX_SAFE_INTEGER. The default transport stops reading at the cap; for any other the engine checks the body it gets back.

    maxRetries?: number

    Number of automatic retries for transient (429/503) responses, 0..MAX_RETRIES (10). 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 says so).

    onRetry?: (event: RetryEvent) => void

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

    retryDelayMs?: number

    Base backoff between retries in milliseconds (grows linearly); used without a Retry-After. At most MAX_RETRY_AFTER_MS.

    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). Enforced by the engine for every transport: the request's signal is aborted at the deadline and the call rejects with a DestatisNetworkError.

    transport?: Transport

    Swappable transport. Defaults to the built-in node http/https transport. The engine enforces timeoutMs and maxResponseBytes whatever the transport does, reads a Headers/Map or any-case header record and any ArrayBuffer view as the body, and turns everything a transport throws or returns malformed into a DestatisNetworkError.

    userAgent?: string

    Value of the User-Agent header.