import { manageCIMonitorReq } from "./routes/ci" import { manageGitlabEventReq } from "./routes/event" import initSchedule from "./schedule" import netTool from "./service/netTool" import { makeCheckPathTool } from "./utils/pathTools" // 启动定时任务 initSchedule() const PREFIX = "/gitlab_monitor" const server = Bun.serve({ async fetch(req) { try { // 打印当前路由 console.log("🚀 ~ serve ~ req.url", req.url) // 路由处理 const { exactCheck } = makeCheckPathTool(req.url, PREFIX) // CI 监控 if (exactCheck("/ci")) return manageCIMonitorReq(req) // Gitlab 事件 if (exactCheck("/event")) return manageGitlabEventReq(req) // 其他 return netTool.ok("hello, there is gitlab monitor, glade to serve you!") } catch (error: any) { // 错误处理 console.error("🚀 ~ serve ~ error", error) return netTool.serverError(error.message || "server error") } }, port: 3000, }) console.log(`Listening on ${server.hostname}:${server.port}`)