UNPKG

ksmf

Version:

Modular Microframework for create minimalistic CLI/Web application or REST API

216 lines (215 loc) 5.48 kB
export = BaseServer; declare const BaseServer_base: typeof import("ksdp/types/src/integration/Dip"); declare class BaseServer extends BaseServer_base { /** * @description configure the web server * @param {Object} [payload] * @param {Object} [payload.web] * @param {Object} [payload.drv] * @param {Object} [payload.logger] * @param {Object} [payload.helper] * @param {Object} [payload.option] * @param {Object} [payload.cookie] * @param {Object} [payload.static] * @param {Object} [payload.session] * @param {Boolean} [payload.configured] */ constructor(payload?: { web?: any; drv?: any; logger?: any; helper?: any; option?: any; cookie?: any; static?: any; session?: any; configured?: boolean; }); /** * @type {Object|null} */ helper: any | null; /** * @type {Object|null} */ option: any | null; /** * @type {Object|null} */ cookie: any | null; /** * @type {Object|null} */ static: any | null; /** * @type {Session|null} */ session: Session | null; /** * @type {Console|null} */ logger: Console | null; /** * @type {String} */ name: string; /** * @type {Object|null} */ web: any | null; /** * @type {Object|null} */ drv: any | null; /** * @type {Boolean} */ configured: boolean; /** * @description configure the web server * @param {Object} [payload] * @param {Object} [payload.web] * @param {Object} [payload.drv] * @param {Object} [payload.logger] * @param {Object} [payload.helper] * @param {Object} [payload.option] * @param {Object} [payload.cookie] * @param {Object} [payload.static] * @param {Object} [payload.session] * @returns {Promise<BaseServer>} self */ configure(payload?: { web?: any; drv?: any; logger?: any; helper?: any; option?: any; cookie?: any; static?: any; session?: any; }): Promise<BaseServer>; /** * @description add session support * @param {Object|null} [option] * @param {Object|null} [web] */ initSession(option?: any | null, web?: any | null): void; /** * @description add cookie support * @param {Object|null} [cookie] * @param {Object|null} [web] */ initCookie(cookie?: any | null, web?: any | null): void; /** * @description add Fingerprint support * @param {Object|null} [config] * @param {Object|null} [web] */ initFingerprint(config?: any | null, web?: any | null): void; /** * @description add cors support * @param {Object|null} [config] * @param {Object|null} [web] */ initCors(config?: any | null, web?: any | null): void; /** * @description publish static files * @param {String} url * @param {String} path */ publish(url: string, path: string): void; /** * @description delete routes * @param {String|Array<String>} value * @param {Function} check * @returns {Boolean} */ del(value: string | Array<string>, check?: Function): boolean; /** * @description set a route * * @callback Handler * @param {Object} [req] * @param {Object} [res] * @param {Function} [next] * * @param {Object} payload * @param {String} payload.route * @param {String} payload.method * @param {Handler} payload.handler * @param {Array} payload.middlewares * @returns {Object} */ set(payload: any): any; /** * @description add routes */ add(...arg: any[]): void; /** * @description get list of available routes * @param {Object} web * @returns {Array} list */ routes(web?: any): any[]; /** * @description alias to use action */ use(...arg: any[]): void; /** * @description HTTP get */ get(...arg: any[]): void; /** * @description HTTP POST */ post(...arg: any[]): void; /** * @description HTTP put */ put(...arg: any[]): void; /** * @description HTTP delete */ delete(...arg: any[]): void; /** * @description HTTP patch */ patch(...arg: any[]): void; /** * @description HTTP options */ options(...arg: any[]): void; register(plugin: any, options: any): any; unregister(plugin: any, options: any): any; onError(callback: any): void; onRequest(callback: any): void; onResponse(callback: any): void; on404(callback: any): void; /** * @description start the server * @param {Object} [payload] * @param {Number} [payload.port] * @param {String} [payload.key] * @param {String} [payload.cert] * @param {String} [payload.host] * @param {String} [payload.protocol] * @param {Boolean} [payload.secure] * @param {Object} [payload.app] * @param {Function} [payload.callback] */ start(payload?: { port?: number; key?: string; cert?: string; host?: string; protocol?: string; secure?: boolean; app?: any; callback?: Function; }): void; /** * @description stop server */ stop(): void; } import Session = require("./Session");