-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ByteBody-based response handling for the HTTP client #11177
Merged
Merged
Conversation
This file contains 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
This is an intermediate PR of my refactor, in the interest of keeping the changes reviewable.
First version of replacing the previous mixed response handling with a single ByteBody-based handler (similar to PipeliningServerHandler on the server). The purpose of this is to (a) unify some code between the streaming and aggregating code paths in DefaultHttpClient, (b) allow ByteBody-based streaming for ProxyHttpClient in the future so that ProxyHttpClient can be implemented for the jdk client and servlet server, (c) eventually create a ByteBody-based HTTP client API (maybe just in ConnectionManager) that allows lower level access to the request and thus can be used to implement the oci sdk http client.
# Conflicts: # http-netty/src/main/java/io/micronaut/http/netty/body/StreamingNettyByteBody.java
# Conflicts: # http-netty/src/main/java/io/micronaut/http/netty/body/StreamingNettyByteBody.java
# Conflicts: # http-netty/src/main/java/io/micronaut/http/netty/body/StreamingNettyByteBody.java
graemerocher
requested changes
Sep 19, 2024
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/SseSplitter.java
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/SseSplitter.java
Show resolved
Hide resolved
# Conflicts: # http-client/src/main/java/io/micronaut/http/client/netty/DefaultHttpClient.java
dstepanov
requested changes
Sep 19, 2024
http-client/src/main/java/io/micronaut/http/client/netty/DefaultHttpClient.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/DefaultHttpClient.java
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
http-netty/src/main/java/io/micronaut/http/netty/body/AvailableNettyByteBody.java
Outdated
Show resolved
Hide resolved
http-netty/src/main/java/io/micronaut/http/netty/body/AvailableNettyByteBody.java
Show resolved
Hide resolved
http-netty/src/main/java/io/micronaut/http/netty/body/AvailableNettyByteBody.java
Show resolved
Hide resolved
http-client/src/main/java/io/micronaut/http/client/netty/Http1ResponseHandler.java
Outdated
Show resolved
Hide resolved
dstepanov
approved these changes
Sep 20, 2024
graemerocher
approved these changes
Sep 20, 2024
i added some additional sanity checks in the state transitions of the decoder. |
Quality Gate passedIssues Measures |
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.
First version of replacing the previous mixed response handling with a single ByteBody-based handler (similar to PipeliningServerHandler on the server). The purpose of this is to (a) unify some code between the streaming and aggregating code paths in DefaultHttpClient, (b) allow ByteBody-based streaming for ProxyHttpClient in the future so that ProxyHttpClient can be implemented for the jdk client and servlet server, (c) eventually create a ByteBody-based HTTP client API (maybe just in ConnectionManager) that allows lower level access to the request and thus can be used to implement the oci sdk http client.