Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#4,879 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
java
Bereich
api, backend

Rechercherichtung

Das Issue nennt keine Quelldatei, keinen Test und keinen Einstiegspunkt. Beginne damit, die Verarbeitung von HTTP-Request-Bodies und die Verarbeitung von Content-Encoding zu lokalisieren, und reproduziere dann die JSON-Anfrage mit gzip. Erledigt ist die Aufgabe, wenn ein gzip-kodierter JSON-Body mit Content-Type application/json vor dem Parsen ohne den gemeldeten Fehler dekomprimiert wird und eine Regressionstestabdeckung vorhanden ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug
Steps to Reproduce
  1. 发送http请求,http header如下:
    'Content-Encoding': 'gzip',
    'Content-Type': 'application/json',
  1. 请求发送到服务器端,未能正确先解压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]]."}
  1. 只有尝试将http请求的header修改为如下的时候,才不会报错:
    'Content-Encoding': 'gzip',
    'Content-Type': 'application/gzip',

查找一些资料显示,Content-Type 表示标头用于指示资源的原始媒体类型(在发送时应用任何内容编码之前);写成'Content-Type': 'application/gzip'也不正确了,原始内容是json格式的body

Expected Behavior

No response

Servicecomb Version

No response

Additional Context

No response

Vorherrschende Sprache
Java
Sterne
1.9k
Forks
813
Ø Merge
8 T. 23 Std.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/servicecomb-java-chassis

Alle Issues in apache/servicecomb-java-chassis

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.