OptionalbaseOptionalmaxHard 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. Enforced by the engine for every transport: the built-in one aborts the download early, any other is checked on the body it returns.
OptionalmaxNumber of automatic retries for transient (429/503) responses and reset
connections (ECONNRESET, UND_ERR_SOCKET, …), an integer from 0 to
MAX_RETRIES (10); defaults to 2. A refused connection, a DNS failure and a
timeout are not retried. 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 SmardApiError 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); default 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: an integer from 0 (no timeout) to MAX_TIMEOUT_MS (2^31 - 1 ms).
Defaults to 30 s. Enforced by the engine for every transport (the request's
signal aborts at the deadline).
OptionaltransportSwappable 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 into a SmardNetworkError.
OptionaluserValue of the User-Agent header; undefined means "smard-cli", a blank value is rejected.
Base URL of the API. Defaults to https://www.smard.de when left
undefined; a blank or whitespace-padded value is rejected.