llm-router

请求处理模块 (003) 功能规格

模块路径: src/middleware/ + src/handler/ + src/routes/ 生成时间: 2026-05-11

概述

请求处理模块是 LLM-Router 的核心业务逻辑层,负责 HTTP 请求的认证、CORS 处理、模型别名、角色重写、参数过滤和路由分发。通过 Express 中间件链实现横切关注点的分离。

功能需求

FR-HDL-001: Bearer Token 认证中间件

FR-HDL-002: CORS 中间件

FR-HDL-003: 模型别名处理

FR-HDL-004: 前缀路由

FR-HDL-005: 角色重写

FR-HDL-006: 不支持参数过滤

FR-HDL-007: 流式检测

FR-HDL-008: 健康检查

关键函数

authMiddleware(config: Config): RequestHandler

corsMiddleware(): RequestHandler

preprocessRequest(config: Config): RequestHandler

chatCompletionsHandler(proxies: ProxyInstances): RequestHandler

Express 中间件链注册顺序

app.use(corsMiddleware);           // CORS 预检
app.use(authMiddleware);            // Bearer Token 认证
app.use(express.json());            // JSON 解析
app.post('/chat/completions', chatCompletionsHandler);
app.get('/health', healthCheckHandler);
app.all('*', defaultProxyHandler);

与 Go 版本对照

Go 版本 TypeScript 版本 说明
handler.HandleRequest() 单函数 Express 中间件链 横切关注点分离
内嵌认证逻辑 authMiddleware() 独立中间件
内嵌 CORS corsMiddleware() 独立中间件
内嵌预处理 preprocessRequest() 独立中间件
http.ServeMux Express Router 路由注册