@maschinenlesbar.org/regionalstatistik-cli
    Preparing search index...

    Interface EngineOptions

    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://www.regionalstatistik.de. Must be an http(s) URL without userinfo, query, fragment or whitespace (baseUrlProblem); the constructor throws RegionalstatistikValidationError otherwise.

    defaultHeaders?: Record<string, string>

    Extra headers sent on every request (token names, valid header values).

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

    Every numeric option must be a non-negative safe integer within its range; the constructor throws RegionalstatistikValidationError otherwise (a negative or NaN timeout or cap would silently switch that guard off).

    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); a Retry-After can lengthen a wait, never shorten it. At most MAX_RETRY_AFTER_MS (a longer delay would overflow Node's timers and fire at once).

    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 to MAX_TIMEOUT_MS (2^31 - 1 ms); 0 disables. Enforced by the engine for every transport: the request's signal is aborted at the deadline and the call rejects with a RegionalstatistikNetworkError.

    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 RegionalstatistikNetworkError.

    userAgent?: string

    Value of the User-Agent header (only undefined selects the default). Must be a valid header value: non-blank, no control characters, nothing above U+00FF.