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

    Interface JobsucheClientOptions

    Options for the Jobsuche client (engine options plus the API key).

    interface JobsucheClientOptions {
        apiKey?: string;
        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
    apiKey?: string

    The X-API-Key to send. No key is bundled; when omitted (or blank) the header is not sent. Surrounding whitespace (e.g. the trailing newline of a key read from a file) is trimmed; a key with an inner control character or a character above U+00FF is rejected (JobsucheValidationError). Obtain the public key with obtainKey() (see obtain-key.ts).

    baseUrl?: string

    Base URL of the API, an absolute http(s) URL without surrounding whitespace, control characters, query or fragment (baseUrlProblem). Defaults to https://rest.arbeitsagentur.de

    defaultHeaders?: Record<string, string>

    Extra headers sent on every request (e.g. an API key). Names must be HTTP tokens and values valid header values (headerNameProblem, headerValueProblem).

    maxRedirects?: number

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

    maxResponseBytes?: number

    Hard cap on response body size in bytes (defends against memory exhaustion from a hostile/buggy endpoint), a non-negative integer. Defaults to 100 MiB; set to 0 for no limit. 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), an integer 0..MAX_RETRIES (10). Defaults to 2.

    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: retryDelayMs * attempt), an integer 0..MAX_RETRY_AFTER_MS (30 000). Defaults to 200. A Retry-After header can lengthen a wait (up to MAX_RETRY_AFTER_MS), never shorten it; a longer one is not retried at all.

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

    Injectable sleep, primarily for deterministic tests.

    timeoutMs?: number

    Per-request timeout in milliseconds, whole response included, a non-negative integer (0 disables; capped at MAX_TIMEOUT_MS, 2^31 - 1 ms). Defaults to 30000. Enforced by the engine for every transport: the transport gets an AbortSignal that fires at the deadline, and the call fails then either way.

    transport?: Transport

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

    userAgent?: string

    Value of the User-Agent header; defaults to DEFAULT_USER_AGENT. Must be a valid header value (headerValueProblem): a blank one is rejected, not replaced.