@nodeboot/http-server
Version:
Node-Boot http server package. It provides a simple way to create HTTP servers using Node.js, with support for routing, middleware, and request handling.
38 lines • 1.94 kB
TypeScript
import http, { IncomingMessage, ServerResponse } from "node:http";
import { HTTPVersion, Instance } from "find-my-way";
import { Action, ActionMetadata, LoggerService, MiddlewareMetadata, NodeBootEngineOptions, ParamMetadata } from "@nodeboot/context";
import { NodeBootDriver } from "@nodeboot/engine";
import { HttpServerConfigs } from "../types";
type HttpServerOptions = {
logger: LoggerService;
server: http.Server;
router: Instance<HTTPVersion.V1>;
serverConfigs?: HttpServerConfigs;
};
export declare class HttpDriver extends NodeBootDriver<http.Server, Action<IncomingMessage, ServerResponse>> {
private readonly logger;
private readonly router;
private middlewaresBefore;
private middlewaresAfter;
private readonly globalErrorHandler;
private customErrorHandler;
private serverOptions;
constructor(options: HttpServerOptions);
initialize(): void;
registerRoutes(): void;
/**
* Registers middleware that run before controller actions.
*/
registerMiddleware(middleware: MiddlewareMetadata, _: NodeBootEngineOptions): void;
registerAction(actionMetadata: ActionMetadata, executeAction: (action: Action<IncomingMessage, ServerResponse>) => Promise<any>): void;
private requestHandler;
private runMiddlewares;
private callGlobalMiddleware;
checkAuthorization(request: IncomingMessage, response: ServerResponse, actionMetadata: ActionMetadata): Promise<void>;
getParamFromRequest(action: Action<IncomingMessage, ServerResponse>, param: ParamMetadata): any;
handleError(error: any, action: Action<IncomingMessage, ServerResponse<IncomingMessage>, Function>, actionMetadata?: ActionMetadata): Promise<void>;
handleSuccess(result: any, action: Action<IncomingMessage, ServerResponse>, actionMetadata: ActionMetadata): void;
parseJsonBody(req: IncomingMessage): Promise<any>;
}
export {};
//# sourceMappingURL=HttpDriver.d.ts.map