ltijs
Version:
Easily turn your web application into a LTI 1.3 Learning Tool.
21 lines (20 loc) • 829 B
TypeScript
export interface RequestHeaders {
authorization?: string;
accept?: string;
contentType?: string;
}
export interface RequestOptions {
headers?: RequestHeaders;
query?: URLSearchParams;
}
export interface RequestResponse<T = unknown> {
data: T;
headers: Record<string, string | undefined>;
}
export interface RequestHandler {
get: <T = unknown>(url: string, options?: RequestOptions) => Promise<RequestResponse<T>>;
post: <T = unknown>(url: string, body?: unknown, options?: RequestOptions) => Promise<RequestResponse<T>>;
put: <T = unknown>(url: string, body?: unknown, options?: RequestOptions) => Promise<RequestResponse<T>>;
delete: <T = unknown>(url: string, options?: RequestOptions) => Promise<RequestResponse<T>>;
setPermanentHeader: (name: string, value: string) => void;
}