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

    Interface EngineOptions

    Options for RequestEngine and the client. The numeric options must be integers within their documented range; anything else (negative, fractional, NaN, Infinity, too large) makes the constructor throw a MudabValidationError.

    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;
    }
    Index
    baseUrl?: string

    Base URL of the API. Defaults to the canonical geoportal.bafg.de MUDAB base. An absolute http(s) URL without a query, fragment, surrounding whitespace or control characters (baseUrlProblem), else a MudabValidationError.

    defaultHeaders?: Record<string, string>

    Extra headers sent on every request; names must be tokens, values follow the userAgent rule.

    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. Enforced by the engine on the body any transport returns (the default transport also stops reading early).

    maxRetries?: number

    Number of automatic retries for transient (429/503) responses, 0..MAX_RETRIES (10; default 2). A reset connection, a refused one, a DNS failure and a timeout are not retried: every MUDAB call is a POST that may fetch a whole table, and the host has blocked clients before. 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 the requested wait).

    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; default 200). A Retry-After can make a wait longer, never shorter. 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 aborts then.

    transport?: Transport

    Swappable transport. Defaults to the built-in node http/https transport. The engine enforces timeoutMs and maxResponseBytes for any transport, reads its headers in any case (a fetch Headers or a Map too) and its body as any ArrayBuffer view, and turns whatever it throws, or a malformed response, into a MudabNetworkError.

    userAgent?: string

    Value of the User-Agent header: not blank, Latin-1 without control characters (tab is fine), else a MudabValidationError.