egg_server/index.ts
zhaoyingbo f6c472f138
Some checks failed
Egg Server MIflow / build-image (push) Failing after 29s
feat(log): 剔除无用日志打印
2024-09-20 10:46:27 +00:00

54 lines
1.7 KiB
TypeScript

import logger from "@egg/logger"
import { makeCheckPathTool } from "@egg/path-tool"
import { manageBotReq } from "./routes/bot"
import { manageMessageReq } from "./routes/message"
import { manageMicroAppReq } from "./routes/microApp"
import { manageSheetReq } from "./routes/sheet"
import { initSchedule } from "./schedule"
import genContext from "./utils/genContext"
initSchedule()
const server = Bun.serve({
async fetch(req) {
// 路由处理
const { exactCheck, startsWithCheck, fullCheck } = makeCheckPathTool(
req.url
)
// 生成上下文
const ctx = await genContext(req)
// 非健康检查由打印必要信息
if (
exactCheck("/bot") ||
exactCheck("/message") ||
exactCheck("/sheet") ||
startsWithCheck("/micro_app")
) {
ctx.logger.info(`${req.method} ${req.url}`)
ctx.logger.debug(`req body: ${ctx.text}`)
}
// 逻辑处理
try {
// 机器人
if (exactCheck("/bot")) return await manageBotReq(ctx)
// 消息代理发送
if (exactCheck("/message")) return await manageMessageReq(ctx)
// 表格代理操作
if (exactCheck("/sheet")) return await manageSheetReq(ctx)
// 小程序
if (startsWithCheck("/micro_app")) return await manageMicroAppReq(ctx)
// 健康检查
if (fullCheck("/health")) return ctx.genResp.healthCheck()
// 其他
return ctx.genResp.healthCheck("hello, there is egg, glade to serve you!")
} catch (error: any) {
// 错误处理
return ctx.genResp.serverError(error.message || "server error")
}
},
port: 3000,
})
logger.info(`Listening on ${server.hostname}:${server.port}`)