1681-engine / index / ApiClient
Class: ApiClient ​
Defined in: src/net/ApiClient.ts:95
A small JSON REST client: a bearer token, JSON in and out, a timeout on every call, and a session kept alive — a 401 is refreshed once (refresher) and the request sent again. A game keeps its endpoints and types in a subclass or beside it; nothing here knows any route.
Constructors ​
Constructor ​
new ApiClient(options): ApiClient;Defined in: src/net/ApiClient.ts:102
Parameters ​
| Parameter | Type |
|---|---|
options | ApiClientOptions |
Returns ​
ApiClient
Properties ​
onUnauthorized ​
onUnauthorized: (() => void) | null = null;Defined in: src/net/ApiClient.ts:100
Called when a 401 ends the session: no refresher, a refused refresh, or a retry refused again.
refresher ​
refresher:
| (() => Promise<RefreshResult>)
| null = null;Defined in: src/net/ApiClient.ts:98
A new access token for a 401 (RefreshResult); unset, a 401 is simply thrown.
Accessors ​
accessToken ​
Get Signature ​
get accessToken(): string | null;Defined in: src/net/ApiClient.ts:104
Returns ​
string | null
Methods ​
request() ​
request<T>(
method,
path,
body?,
options?,
retried?
): Promise<T>;Defined in: src/net/ApiClient.ts:113
Sends a request and returns its parsed JSON body (undefined for an empty or unreadable one).
Type Parameters ​
| Type Parameter |
|---|
T |
Parameters ​
| Parameter | Type | Default value |
|---|---|---|
method | ApiMethod | undefined |
path | string | undefined |
body? | unknown | undefined |
options? | ApiRequestOptions | {} |
retried? | boolean | false |
Returns ​
Promise<T>
setToken() ​
setToken(token): void;Defined in: src/net/ApiClient.ts:108
Parameters ​
| Parameter | Type |
|---|---|
token | string | null |
Returns ​
void