职责分离: - Middleware: 负责 JWT 验证、TenantId 验证、设置 ClusterId 和 TenantId 到 HttpContext.Items - Transform: 负责从数据库查询 Destination 并设置 ProxyRequest.RequestUri 修改内容: 1. TenantRoutingMiddleware: - 添加设置 TenantId 到 HttpContext.Items 供 Transform 使用 - 修复服务名提取正则表达式,支持连字符(-)和下划线(_) - 更新 XML 文档,明确职责分离说明 2. TenantRoutingTransform: - 添加 ExtractTenantId 方法,优先从 HttpContext.Items 获取 TenantId - 保留从 JWT 提取作为回退机制 3. 单元测试: - 新增职责分离验证测试 (ShouldNotSetDestinationUri, ShouldOnlySetClusterIdAndTenantId) - 新增与 Transform 协作测试 (ShouldSetItemsForTransformConsumption) - 更新服务名提取测试,支持更多字符类型 - 总测试数: 24个,全部通过 |
||
|---|---|---|
| .. | ||
| Unit | ||
| YarpGateway.Tests.csproj | ||