@intuitionrobotics/thunderstorm
Version:
39 lines • 1.54 kB
TypeScript
import { Module } from "@intuitionrobotics/ts-common";
import type { ObjectTS } from "@intuitionrobotics/ts-common";
import type { ApiResponse, HttpRequestData } from "./server-api.js";
import { ApiException } from "../../exceptions.js";
import type { Express, ExpressRequest, ExpressRequestHandler } from "../../utils/types.js";
type ConfigType = {
port: number;
baseUrl: string;
cors: {
origins?: string[];
methods?: string[];
headers: string[];
exposedHeaders?: string[];
};
ssl: {
key: string;
cert: string;
};
bodyParserLimit: number | string;
};
export type HttpErrorHandler = (requestData: HttpRequestData, error: ApiException) => Promise<string>;
export type ServerApi_Middleware = (request: ExpressRequest, data: HttpRequestData, response: ApiResponse, scopes: string[]) => Promise<ObjectTS | void>;
export declare class HttpServer_Class extends Module<ConfigType> {
private static readonly expressMiddleware;
private readonly express;
constructor(_express: Express, configElement: ConfigType);
static addMiddleware(middleware: ExpressRequestHandler): typeof HttpServer_Class;
getBaseUrl(): string;
init(): void;
mountRouter(router: import("express").Router, urlPrefix?: string): void;
}
export declare class HeaderKey {
private readonly key;
private readonly responseCode;
constructor(key: string, responseCode?: number);
get(request: ExpressRequest): string;
}
export {};
//# sourceMappingURL=HttpServer.d.ts.map