@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
TypeScript
/// <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>;
}