34 lines
1006 B
TypeScript
34 lines
1006 B
TypeScript
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 {
|
|
const checkPath = makeCheckPathTool(req.url, PREFIX)
|
|
// 根路由
|
|
if (checkPath("/")) return netTool.ok("hello, glade to see you!")
|
|
// CI 监控
|
|
if (checkPath("/ci")) return manageCIMonitorReq(req)
|
|
// Gitlab 事件
|
|
if (checkPath("/event")) return manageGitlabEventReq(req)
|
|
// 其他
|
|
return netTool.ok("hello, glade to see 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}`)
|