- Route recommended runtime launches through shared runtime guest token handling - Extend recommend-page anonymous play beyond jump-hop - Add regression coverage for runtime guest launch clients - Update docs to reflect the full anonymous-play matrix
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import type { ApiRequestOptions } from './apiClient';
|
|
|
|
export type RuntimeGuestRequestOptions = Pick<
|
|
ApiRequestOptions,
|
|
| 'authImpact'
|
|
| 'skipAuth'
|
|
| 'skipRefresh'
|
|
| 'notifyAuthStateChange'
|
|
| 'clearAuthOnUnauthorized'
|
|
> & {
|
|
runtimeGuestToken?: string;
|
|
};
|
|
|
|
export function buildRuntimeGuestHeaders(
|
|
options: Pick<RuntimeGuestRequestOptions, 'runtimeGuestToken'>,
|
|
headers: Record<string, string> = {},
|
|
) {
|
|
const runtimeGuestToken = options.runtimeGuestToken?.trim();
|
|
if (!runtimeGuestToken) {
|
|
return headers;
|
|
}
|
|
|
|
return {
|
|
...headers,
|
|
Authorization: `Bearer ${runtimeGuestToken}`,
|
|
};
|
|
}
|
|
|
|
export function buildRuntimeGuestAuthOptions<
|
|
TOptions extends RuntimeGuestRequestOptions,
|
|
>(options: TOptions) {
|
|
const runtimeGuestToken = options.runtimeGuestToken?.trim();
|
|
return {
|
|
authImpact: options.authImpact,
|
|
skipAuth: runtimeGuestToken ? true : options.skipAuth,
|
|
skipRefresh: runtimeGuestToken ? true : options.skipRefresh,
|
|
notifyAuthStateChange: options.notifyAuthStateChange,
|
|
clearAuthOnUnauthorized: options.clearAuthOnUnauthorized,
|
|
} satisfies ApiRequestOptions;
|
|
}
|