[ISSUE #5233] Preserve common HTTP JSON payloads#5258
Open
nkgotcode wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Welcome to the Apache EventMesh community!!
This is your first PR in our project. We're very excited to have you onboard contributing. Your contributions are greatly appreciated!
Please make sure that the changes are covered by tests.
We will be here shortly.
Let us know if you need any help!
Want to get closer to the community?
| WeChat Assistant | WeChat Public Account | Slack |
|---|---|---|
![]() |
![]() |
Join Slack Chat |
Mailing Lists:
| Name | Description | Subscribe | Unsubscribe | Archive |
|---|---|---|---|---|
| Users | User support and questions mailing list | Subscribe | Unsubscribe | Mail Archives |
| Development | Development related discussions | Subscribe | Unsubscribe | Mail Archives |
| Commits | All commits to repositories | Subscribe | Unsubscribe | Mail Archives |
| Issues | Issues or PRs comments and reviews | Subscribe | Unsubscribe | Mail Archives |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Fixes #5233
Motivation
The HTTP connector common protocol fails when it receives a JSON object body because the request payload is parsed as a Java
String. A JSON object such as{"name":"Andy"}cannot be deserialized that way, so the connector rejects a valid request body.Modifications
The common HTTP protocol now preserves the raw request body string before enqueuing the
WebhookRequest. A regression test starts the Vert.x route throughCommonProtocol, posts a JSON object, verifies the HTTP 200 response, and checks that the queued request payload is unchanged.Validation:
docker run --rm -v "$PWD":/workspace -w /workspace eclipse-temurin:8-jdk ./gradlew :eventmesh-connectors:eventmesh-connector-http:test --tests org.apache.eventmesh.connector.http.source.protocol.impl.CommonProtocolTest --no-daemon --stacktraceDocumentation