UNPKG

@scefira/dfw-nodejs

Version:
33 lines (24 loc) 1 kB
import DFWModule from "./DFWModule."; import { DFWScheme } from "../.."; import DFWInstance from "../system/DFWInstance"; import { Request, Response, Router, Express } from "express"; export default class APIManager extends DFWModule{ public async touchAsync(dfw:DFWScheme){ } public async fetchAsync(){ } public add(path:string,f:(dfw:DFWScheme) => Promise<any>,method:"get"|"put"|"post"|"delete" = "get",router?:Router|Express){ if(this.DFWInstance.server === undefined){ console.error("> you need to start DFW express server (DFW.startServer) to add an API listener"); return; } if(router === undefined){ router = this.DFWInstance.server; } router[method](path,(req:Request,res:Response)=>{ this.DFWInstance.touchAsync(req,res).then( async (dfw:DFWScheme)=>{ dfw.response.json( await f(dfw)); }) }) } }