kaven-utils
Version:
Utils for Node.js.
88 lines (87 loc) • 3.17 kB
TypeScript
/********************************************************************
* @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: 2026-03-12 14:22:09.448
* @version: 6.1.3
* @times: 104
* @lines: 473
* @copyright: Copyright © 2018-2026 Kaven. All Rights Reserved.
* @description: [description]
* @license: [license]
********************************************************************/
import { ErrorRequestHandler, Request, RequestHandler, Response } from "express";
import { ILoggingAgent } from "kaven-basic";
import * as http from "node:http";
import { ICheckRefererOptions, IHttpServerLoggerOptions, IStartServerOptions } from "./base/Interfaces.js";
import { HttpOrHttpsServer } from "./base/Types.js";
import { KavenAuthentication } from "./net/authentication/KavenAuthentication.js";
/**
* @since 5.0.0
* @version 2025-10-14
*/
export declare function LoadJsonConfig<T>(dir: string, ...names: string[]): Promise<T | undefined>;
export declare function LoadJsonConfig<T>(logger: ILoggingAgent | undefined, dir: string, ...names: string[]): Promise<T | undefined>;
/**
* @since 5.0.1
* @version 2025-10-14
*/
export declare function LoadJsonConfigSync<T>(dir: string, ...names: string[]): T | undefined;
export declare function LoadJsonConfigSync<T>(logger: ILoggingAgent | undefined, 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-10-14
*/
export declare function CreateExpressLogger(logger: ILoggingAgent, options?: IHttpServerLoggerOptions): RequestHandler;
/**
* @since 2.0.14
* @version 2021-03-19
*/
export declare function CreateExpressErrorHandler(logger?: ILoggingAgent, redirectTo?: string | undefined): ErrorRequestHandler;
/**
*
* @param redirectTo default: `/`
* @returns RequestHandler
* @since 2.0.14
* @version 2021-03-19
*/
export declare function CreateExpress404Handler(redirectTo?: string): RequestHandler;
/**
* @since 2.0.14
* @version 2025-10-14
*/
export declare function CreateExpressCheckReferer(domainNames: string[], options?: ICheckRefererOptions): RequestHandler;
/**
*
* @since 4.3.1
* @version 2025-06-19
*/
export declare function HandleSignalsForServer(server: HttpOrHttpsServer, disposeBeforeShutdown?: () => Promise<void>, logger?: ILoggingAgent): void;
/**
* @since 2.0.14
* @version 2025-10-14
*/
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;
};