|
|
|
import { handleMeow, handleModels, handleChatCompletions } from "./handlers.ts";
|
|
import { errorResponse } from "./response.ts";
|
|
|
|
|
|
export async function router(req: Request): Promise<Response> {
|
|
const { method } = req;
|
|
const url = new URL(req.url);
|
|
const pathname = url.pathname;
|
|
|
|
const routes = [
|
|
{ method: "GET", path: "/v1/models", handler: handleModels },
|
|
{ method: "POST", path: "/v1/chat/completions", handler: handleChatCompletions },
|
|
{ method: "GET", path: "/", handler: handleMeow },
|
|
];
|
|
|
|
const route = routes.find(r => r.method === method && r.path === pathname);
|
|
|
|
if (route) {
|
|
try {
|
|
return await route.handler(req);
|
|
} catch (error) {
|
|
return errorResponse(`处理请求时发生错误: ${error.message}`, 500);
|
|
}
|
|
}
|
|
|
|
return errorResponse("未找到路由", 404);
|
|
}
|
|
|