apache / apache/servicecomb-java-chassis

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

Aperta
#4,879 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Java
Stelle
1.9k
Fork
814
Merge medio
8g 23h
PR unite (30g)
1

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

L'issue non indica alcun file sorgente, test o punto di ingresso. Inizia individuando la gestione del corpo delle richieste HTTP e l'elaborazione di Content-Encoding, quindi riproduci la richiesta JSON con gzip. Il lavoro è completato quando un corpo JSON codificato con gzip con Content-Type application/json viene decompresso prima del parsing senza l'errore segnalato, con una copertura di regressione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
api, backend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.