mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-21 05:45:46 +00:00
23 lines
601 B
TypeScript
23 lines
601 B
TypeScript
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
export type AuthMode = 'none' | 'cookie' | 'bearer';
|
|
|
|
export type RequestOptions<B = unknown> = {
|
|
method?: HttpMethod;
|
|
body?: B;
|
|
query?: Record<string, unknown>;
|
|
headers?: Record<string, string>;
|
|
auth?: AuthMode; // 'cookie' | 'bearer' | 'none'
|
|
token?: string; // required if auth === 'bearer'
|
|
timeoutMs?: number;
|
|
};
|
|
|
|
export class HttpError extends Error {
|
|
constructor(
|
|
public status: number,
|
|
public code?: string,
|
|
public data?: unknown
|
|
) {
|
|
super(`HTTP ${status}${code ? ` ${code}` : ''}`);
|
|
}
|
|
}
|