UNPKG

@signalapp/mock-server

Version:
23 lines (22 loc) 1.19 kB
import { ParsedUrlQuery } from 'querystring'; import { WSRequest, WSResponse } from './service'; import { JsonValue, PartialDeep } from 'type-fest'; export type AbbreviatedResponse = Readonly<[number, PartialDeep<JsonValue>] | [number, PartialDeep<JsonValue>, Record<string, string>]>; export type Handler = (params: Record<string, string>, body: Uint8Array<ArrayBuffer> | undefined, headers: Record<string, string>, query?: ParsedUrlQuery) => Promise<AbbreviatedResponse>; export type RouterOptions = Readonly<{ beforeRequest: (verb: string, path: string, headers: Record<string, string>) => Promise<void>; }>; export declare class Router { private options; private readonly routes; private isAuthenticated; constructor(options: RouterOptions); register(method: string, pattern: string, handler: Handler): void; get(pattern: string, handler: Handler): void; patch(pattern: string, handler: Handler): void; put(pattern: string, handler: Handler): void; post(pattern: string, handler: Handler): void; del(pattern: string, handler: Handler): void; run(request: WSRequest): Promise<WSResponse>; setIsAuthenticated(value: boolean): void; }