`ToCloudEventTransformer`: binary mode sets `contentType` to `application/cloudevents`
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 86/100
Direzione di ricerca
Leggi ToCloudEventTransformer.java intorno alla riga 347 e le asserzioni della modalità binaria in ToCloudEventTransformerTests intorno alle righe 167 e 225. Controlla come il trasformatore imposta contentType quando conserva il payload e scrive gli header ce-*. Aggiorna l’aspettativa della modalità binaria affinché venga mantenuto il content type di input application/json, quindi conferma che il test copra il content type e il payload attesi dei dati CloudEvent.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Spring Integration 7.1.2, cloudevents-spring 5.1.0.
In binary mode, ToCloudEventTransformer keeps the event data as the payload and writes the attributes as ce-* headers, but it also replaces contentType with application/cloudevents (MessageBuilderMessageWriter#create(…), line 347). The CloudEvents bindings use that media type to mark structured mode; in binary mode the content type is the datacontenttype (HTTP binding §3 and §3.1.1, AMQP binding §3 and §3.1.1). So the CloudEvents SDK can't read the output:
Message<byte[]> input = MessageBuilder.withPayload("{\"order\":42}".getBytes(StandardCharsets.UTF_8))
.setHeader(MessageHeaders.CONTENT_TYPE, "application/json")
.build();
Message<?> output = (Message<?>) toCloudEventTransformer.transform(input);
new CloudEventMessageConverter().fromMessage(output, CloudEvent.class);
- Expected: a
CloudEventwithdatacontenttypeapplication/jsonand the payload as its data. - Actual:
CloudEventRWException: Could not parse. Unknown encoding. Invalid content type or spec version.
With contentType set back to application/json, the same message reads correctly.
Suggested fix: in binary mode, keep the input's contentType, since the payload doesn't change. ToCloudEventTransformerTests asserts the current value at lines 167 and 225.
- Lingua principale
- Java
- Stelle
- 1.6k
- Fork
- 1.2k
- Merge medio
- 20h 16m
- PR unite (30g)
- 79
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di spring-projects/spring-integration
-
status: waiting-for-triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
spring-projects/spring-integration#11654 ·
I maintainer di solito rispondono entro 1 giorno
-
MQTT v5 outbound adapter drops the trace context that the integration observation puts into the messageForse già presa @Hyunsdb l’ha presa 8 giorni fa. Apertain: mqtt type: enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
spring-projects/spring-integration#11562 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Add Java DSL for `spring-integration-mqtt-client` moduleForse già presa @yeomin4242 l’ha presa 12 giorni fa. Apertaideal-for-user-contribution in: dsl in: mqtt type: enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
spring-projects/spring-integration#11537 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
status: waiting-for-reporter type: enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
spring-projects/spring-integration#10672 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
in: sftp type: enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
spring-projects/spring-integration#9971 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di spring-projects/spring-integration
Issue simili
-
5.0.x backport enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
spring-cloud/spring-cloud-function#1507 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-driven-fuzzing bug claude Minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
linagora/twake-calendar-side-service#1417 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
line/armeria#7109 · 3 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
a2aproject/a2a-java#1275 ·
I maintainer di solito rispondono entro 1 giorno
-
module/ftp Type/Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ballerina-platform/ballerina-library#9476 ·
I maintainer di solito rispondono entro 1 giorno