UNPKG

@darlean/webservice-suite

Version:

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

26 lines (25 loc) 921 B
/// <reference types="node" /> import { IActivatable, IDeactivatable } from '@darlean/base'; import { IncomingMessage, Server, ServerResponse } from 'http'; import { IWebServiceRequest, IWebServiceResponse } from '@darlean/webservice'; export interface IHandler { method?: string; path?: string; action: (req: IWebServiceRequest) => Promise<IWebServiceResponse>; placeholders?: string[]; } export interface IHost { name: string; port: number; handlers: IHandler[]; } export declare class WebServiceHostActor implements IActivatable, IDeactivatable { protected server: Server; protected config: IHost; protected port?: number; constructor(config: IHost); activate(): Promise<void>; deactivate(): Promise<void>; touch(): Promise<void>; protected handleRequest(req: IncomingMessage, res: ServerResponse<IncomingMessage>): Promise<void>; }