apache / apache/servicecomb-java-chassis
[BUG] - http请求体开启了压缩之后,cse未能正确识别到
- Linguagem predominante
- Java
- Estrelas
- 1.9k
- Forks
- 814
- Merge médio
- 8d 23h
- PRs com merge (30d)
- 1
Descrição
### Steps to Reproduce
1. 发送http请求,http header如下:
```
'Content-Encoding': 'gzip',
'Content-Type': 'application/json',
```
2. 请求发送到服务器端,未能正确先解压gzip,导致报错:
```
Parameter is [queryReq]. Processor is [body]. Message is [Illegal character ((CTRL-CHAR, code 31)): only regular white space (\\r, \\n, \\t) is allowed between tokens\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]]."}
```
3. 只有尝试将http请求的header修改为如下的时候,才不会报错:
```
'Content-Encoding': 'gzip',
'Content-Type': 'application/gzip',
```
查找一些资料显示,Content-Type 表示标头用于指示资源的原始[媒体类型](https://developer.mozilla.org/zh-CN/docs/Glossary/MIME_type)(在发送时应用任何内容编码之前);写成`'Content-Type': 'application/gzip'`也不正确了,原始内容是json格式的body
### Expected Behavior
_No response_
### Servicecomb Version
_No response_
### Additional Context
_No response_
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
A issue não indica nenhum arquivo-fonte, teste ou ponto de entrada. Comece localizando o tratamento do corpo das requisições HTTP e o processamento de Content-Encoding; em seguida, reproduza a requisição JSON com gzip. Considera-se concluído quando um corpo JSON codificado com gzip e com Content-Type application/json é descompactado antes do parsing sem o erro relatado, com cobertura de regressão.
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
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100