apache / apache/servicecomb-java-chassis

[BUG] - http请求体开启了压缩之后,cse未能正确识别到

Ouverte
#4,879 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Java
Étoiles
1.9k
Forks
814
Merge moyen
8 j 23 h
PR mergées (30 j)
1

Description

### 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_

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

L’issue ne mentionne aucun fichier source, test ni point d’entrée. Commencez par localiser la gestion du corps des requêtes HTTP et le traitement de Content-Encoding, puis reproduisez la requête JSON avec gzip. Le travail est terminé lorsqu’un corps JSON encodé avec gzip et doté de Content-Type application/json est décompressé avant l’analyse sans l’erreur signalée, avec une couverture de régression.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api, backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.