UNPKG

@fanoutio/serve-grip

Version:
31 lines 1.75 kB
import CallableInstance from 'callable-instance'; import { GripInstruct, IGripConfig, Publisher, WebSocketContext } from '@fanoutio/grip'; import { IServeGripConfig } from './IServeGripConfig.js'; import type { IRequestGrip } from "./IRequestGrip.js"; import type { IResponseGrip } from "./IResponseGrip.js"; type NextFunction = (e?: Error) => void; export declare abstract class ServeGripBase<TRequest, TResponse> extends CallableInstance<[TRequest, TResponse, NextFunction], void> { gripProxies?: string | IGripConfig | IGripConfig[] | Publisher; prefix: string; isGripProxyRequired: boolean; _publisherClass?: { new (): Publisher; }; _publisher?: Publisher; protected constructor(config?: IServeGripConfig, fn?: string); applyConfig(config?: IServeGripConfig): void; getPublisher(): Publisher; abstract getRequestGrip(req: TRequest): IRequestGrip | undefined; abstract setRequestGrip(req: TRequest, grip: IRequestGrip): void; abstract isRequestWsOverHttp(req: TRequest): boolean; abstract getRequestWebSocketContext(req: TRequest): Promise<WebSocketContext>; abstract getRequestHeaderValue(req: TRequest, key: string): string | undefined; abstract setResponseGrip(res: TResponse, grip: IResponseGrip): void; abstract setResponseStatus(res: TResponse, code: number): void; abstract endResponse(res: TResponse, chunk: string): TResponse; abstract monkeyPatchResMethodsForWebSocket(res: TResponse, wsContext: WebSocketContext): void; abstract monkeyPatchResMethodsForGripInstruct(res: TResponse, gripInstructGetter: () => GripInstruct | null): void; run(req: TRequest, res: TResponse): Promise<boolean>; } export {}; //# sourceMappingURL=ServeGripBase.d.ts.map