ts-api-core
Version:
Nodejs api framework core
58 lines (57 loc) • 1.94 kB
TypeScript
import { ClassType } from '../base/type';
import { BaseController } from '../controller/base.controller';
import { SaveLogger } from '../base/logger';
import { RouteConfig } from '../base/route.config';
import { RoutesRegister } from '../base/routes.register';
import { BaseWrapper } from '../wrapper/base.wrapper';
import { IocLoadOptions } from '../mvc/ioc.load.options';
/** 服务配置 */
export declare class ServerConfig {
/** 服务监听端口, ,默认 `8080` */
port?: number;
/** 服务名称 */
name?: string;
/** 控制器注册 */
controller?: ClassType<BaseController>[];
/** 可执行的 wrapper 注册 */
wrappers?: Map<string, ClassType<BaseWrapper<any>>>;
/** 路由配置信息注册 */
routes?: ClassType<RouteConfig>[];
/** 设置允许的自定义HTTP请求头 */
allowHeader?: string[];
/** 是否允许跨域,默认 `true` */
allowCrossDomain?: boolean;
/** 日志写入, 默认 `MysqlLogger` */
logger?: SaveLogger;
/** 限制 Body 大小, 默认 `10000kb` */
limitBodySize?: string;
/** 限制 Url 大小, 默认 `10000kb` */
limitUrlSize?: string;
/** 设置 etag,默认 `false` */
setETag?: boolean;
/** 接口地址 */
apiBaseUrl?: string;
/** 自动扫描加载选项 */
loadOpts?: IocLoadOptions;
}
/** WEB 服务 */
export declare class WebServer {
readonly options: ServerConfig;
private static _express;
private static get express();
readonly registerRoutes: RoutesRegister;
/** 服务监听端口 */
readonly port: number;
/**
* WEB 服务
* @param options 配置选项
*/
constructor(options: ServerConfig);
private isController;
private isRouteConfig;
private isWrapper;
private ConfigCors;
private ConfigAction;
private Config404;
private Config500;
}