apache / apache/servicecomb-java-chassis

EdgeAddHeaderClientFilter只能传递单个值的header

Aberta
#4,196 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Java
Estrelas
1.9k
Forks
814
Merge médio
8d 23h
PRs com merge (30d)
1

Descrição

## 问题版本

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值都不会被透传.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece em edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeAddHeaderClientFilter.java nas linhas 91-97 e inspecione como oldRequest.getHeader(key) lida com valores repetidos. Reproduza uma requisição com um header com vários valores e verifique que a conclusão significa que todos os valores são encaminhados, e não apenas um; o payload não nomeia nenhum teste, então localize a cobertura relevante de edge-core antes de executá-lo.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
api, backend
Tipo de issue
Bug
Dificuldade
2/5
Tempo estimado
1-3 horas
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.