apache / apache/servicecomb-java-chassis

EdgeAddHeaderClientFilter只能传递单个值的header

未关闭
#4,196 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
1.9k
派生
814
平均合并
8 天 23 小时
30 天内合并 PR
1

描述

## 问题版本

Java-Chassis 2.8.x

## 关键代码

详见:
https://github.com/apache/servicecomb-java-chassis/blob/5f327e6bfc12cf522649c57d156296b0670609c6/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeAddHeaderClientFilter.java#L91-L97

`oldRequest.getHeader(key)` 只能取出header的单个值, 如果`key`代表的header有多个值, 则其余header值都不会被透传.

贡献指南

这个仓库没有索引到贡献指南

调研方向

从 edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeAddHeaderClientFilter.java 的第 91-97 行开始,检查 oldRequest.getHeader(key) 如何处理重复值。复现一个包含多值 header 的请求,并验证完成意味着每个值都会被转发,而不只是其中一个;payload 没有指明任何测试,因此在运行之前先定位相关的 edge-core 覆盖范围。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
api, backend
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
描述清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。