movingsam
|
4fd931d44b
|
IMPL-11: 更新 TenantRoutingMiddleware 适配新 Transform
职责分离:
- 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个,全部通过
|
2026-03-08 01:20:20 +08:00 |
|