UNPKG

kaven-utils

Version:

Utils for Node.js.

109 lines (108 loc) 3.3 kB
/******************************************************************** * @author: Kaven * @email: kaven@wuwenkai.com * @website: http://blog.kaven.xyz * @file: [Kaven-Utils] /src/KavenUtility.Server.ts * @create: 2018-08-30 13:24:44.049 * @modify: 2025-05-21 17:56:31.412 * @version: 5.4.5 * @times: 88 * @lines: 480 * @copyright: Copyright © 2018-2025 Kaven. All Rights Reserved. * @description: [description] * @license: [license] ********************************************************************/ import { ErrorRequestHandler, Request, RequestHandler, Response } from "express"; import { HttpStatusCode } from "kaven-basic"; import * as http from "node:http"; import { KavenLogger } from "./KavenLogger.js"; import { IHttpServerLoggerOptions, IStartServerOptions } from "./base/Interfaces.js"; import { HttpOrHttpsServer } from "./base/Types.js"; import { KavenAuthentication } from "./net/authentication/KavenAuthentication.js"; /** * * @param dir * @param names * @returns * @since 5.0.0 * @version 2023-11-18 */ export declare function LoadJsonConfig<T>(dir: string, ...names: string[]): Promise<T | undefined>; /** * * @param dir * @param names * @returns * @since 5.0.1 * @version 2023-11-18 */ export declare function LoadJsonConfigSync<T>(dir: string, ...names: string[]): T | undefined; /** * @since 5.0.0 * @version 2023-11-18 */ export declare function SaveJsonConfig(config: unknown, path: string): Promise<string>; /** * @since 5.0.1 * @version 2023-11-18 */ export declare function SaveJsonConfigSync(config: unknown, path: string): string; /** * @since 1.0.5 * @version 2025-05-21 */ export declare function CreateExpressLogger(options?: IHttpServerLoggerOptions, logger?: KavenLogger): RequestHandler; /** * * @param log default: `true` * @param redirectTo default: `/` * @returns ErrorRequestHandler * @since 2.0.14 * @version 2021-03-19 */ export declare function CreateExpressErrorHandler(log?: boolean, redirectTo?: string | undefined): ErrorRequestHandler; /** * * @param redirectTo default: `/` * @returns RequestHandler * @since 2.0.14 * @version 2021-03-19 */ export declare function CreateExpress404Handler(redirectTo?: string): RequestHandler; /** * * @param domainNames * @param allowEmpty default: `false` * @param redirectTo * @param status default: `403` * @returns * @since 2.0.14 * @version 2021-03-19 */ export declare function CreateExpressCheckReferer(domainNames: string[], allowEmpty?: boolean, redirectTo?: string, status?: HttpStatusCode): RequestHandler; /** * * @since 4.3.1 * @version 2022-06-29 */ export declare function HandleSignalsForServer(server: HttpOrHttpsServer, disposeBeforeShutdown?: () => Promise<void>): void; /** * * @param app * @param port * @param options * @since 2.0.14 * @version 2023-11-18 */ export declare function StartServer(app: http.RequestListener, port: number, options?: IStartServerOptions): Promise<HttpOrHttpsServer>; /** * * @param authentication * @since 4.1.0 * @version 2022-09-20 * @returns */ export declare function CreateExpressAuthentication(authentication: KavenAuthentication): { auth: (req: Request, res?: Response) => Promise<boolean>; handler: RequestHandler; };