OptionalbaseBase URL of the API: the host (plus an optional path prefix on a mirror), without the API path, which the client appends. Defaults to https://luftdaten.umweltbundesamt.de. A value that breaks a rule of validateBaseUrl (not http(s), a query or fragment, whitespace or control characters) throws a LuftValidationError, and so does (in the client) a path that already ends in the API path.
OptionalmaxNumber of HTTP redirects (301/302/303/307/308) to follow, 0..MAX_REDIRECTS (20). Defaults to 5.
OptionalmaxHard 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. Enforced by the engine for every transport.
OptionalmaxNumber of automatic retries for transient (429/503) responses and for a GET whose
connection was reset (see isTransientNetworkError), 0..MAX_RETRIES (10).
Each waits retryDelayMs * attempt, or a 429/503's Retry-After when that is
longer (up to MAX_RETRY_AFTER_MS; a longer one is not retried, and the LuftApiError
says so).
OptionalonCalled 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.
OptionalretryBase backoff between retries in milliseconds (grows linearly), an integer
0..MAX_RETRY_AFTER_MS (30 000). Defaults to 200. It is also the floor under a
Retry-After: the header can lengthen a wait, never shorten it.
OptionalsleepInjectable sleep, primarily for deterministic tests.
OptionaltimeoutTime 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.
OptionaltransportSwappable transport. Defaults to the built-in node http/https transport.
OptionaluserValue of the User-Agent header (default luftqualitaet-cli). A blank value, a
control character other than tab, or a character above U+00FF throws a
LuftValidationError.
Options for RequestEngine and the client. The numeric options must be integers within their documented range; anything else (negative, fractional, NaN, Infinity, too large, not a number) makes the constructor throw a LuftValidationError, as does a
transportorsleepthat is not a function.