UNPKG

@fanoutio/serve-grip

Version:
36 lines 1.8 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"; export type OnAfterSetupParams<TRequest, TResponse> = { req: TRequest; res: TResponse; wsContext: WebSocketContext | null; gripInstructGetter: () => GripInstruct | null; }; 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 onAfterSetup(params: OnAfterSetupParams<TRequest, TResponse>): void; run(req: TRequest, res: TResponse): Promise<boolean>; } export {}; //# sourceMappingURL=ServeGripBase.d.ts.map