Optionalquery: QueryParamsThe error for an ArcGIS "HTTP 200 + error" envelope (a bad where, "Token
Required"): a LadesaeulenApiError with arcgisCode set, naming the request the
engine sent for path + query (URL redacted), with the server text stripped of
control characters and of the base URL's credentials.
Request a path with query params and parse the JSON reply into T.
Optionalquery: QueryParamsPerform a request (GET, or a form POST for a long query — see requestTarget)
with Accept negotiation and transient-error retries. Redirects are NOT
followed — the canonical host answers directly, so a 3xx surfaces as an error.
Every transport is held to the same contract: the timeoutMs deadline and the
maxResponseBytes cap apply whatever it does, headers may be a record in any
case, a Headers object or a Map, the body any ArrayBuffer view, and anything
else it throws or returns is a LadesaeulenNetworkError. 429/503 statuses are
retried, and so is a GET whose connection was reset (see hasTransientCode); a
form POST is not re-sent after a reset, and no other network error is retried.
Optionalquery: QueryParamsDecide how a request goes out: a GET with the parameters in the query string,
or — when that URL would be longer than MAX_GET_URL_LENGTH — a POST to the
bare path with the same parameters as a form-encoded body.
Optionalquery: QueryParamstext without the base URL's credentials: server text (an error body that echoes the
request URL) and transport text (fetch's "Request cannot be constructed from a URL that
includes credentials:
Build a fully-qualified URL from a path and optional query parameters.