UNPKG

@darlean/webgateways-suite

Version:

Web Gateways Suite that acts as Web/API Gateway that invokes actors to serve HTTP requests

31 lines (30 loc) 1.07 kB
/// <reference types="node" /> import { IActivatable, IDeactivatable, IWebGatewayRequest, IWebGatewayResponse } from '@darlean/base'; import { IncomingMessage, Server, ServerResponse } from 'http'; import { IGatewayFlowCfg } from './intf'; export interface IHandler { method?: string; path?: string; action: (req: IWebGatewayRequest) => Promise<IWebGatewayResponse>; flow?: IGatewayFlowCfg; maxContentLength?: number; } export interface IGateway { name: string; port: number; handlers: IHandler[]; keepAliveTimeout: number; maxContentLength?: number; } export declare class WebGatewayActor implements IActivatable, IDeactivatable { protected server: Server; protected config: IGateway; protected port?: number; private close; private pathMatchers; constructor(config: IGateway); activate(): Promise<void>; deactivate(): Promise<void>; touch(): Promise<void>; protected handleRequest(req: IncomingMessage, res: ServerResponse<IncomingMessage>): Promise<void>; }