-
Notifications
You must be signed in to change notification settings - Fork 38k
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
Implement Eclipse Jetty core HTTP handler adapter #32097
Conversation
@gregw Please sign the Contributor License Agreement! Click here to manually synchronize the status of this Pull Request. See the FAQ for frequently asked questions. |
@pivotal-cla Working on getting a CCLA signed. Stand by.... |
.../main/java/org/springframework/web/reactive/function/server/DefaultServerRequestBuilder.java
Outdated
Show resolved
Hide resolved
@lachlan-roberts can you sign the individual CLA. |
This PR is failing 2 tests that undertow also fails: See #25310. |
@gregw Thank you for signing the Contributor License Agreement! |
...-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpResponse.java
Outdated
Show resolved
Hide resolved
// this.dataBuffer = dataBufferFactory.wrap(BufferUtil.copy(chunk.getByteBuffer())); // TODO this copy avoids multipart bugs | ||
this.dataBuffer = dataBufferFactory.wrap(chunk.getByteBuffer()); // TODO avoid double slice? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the work around for the failing multipart tests (see #25310)
...g-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java
Outdated
Show resolved
Hide resolved
...g-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java
Outdated
Show resolved
Hide resolved
...g-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java
Outdated
Show resolved
Hide resolved
…pResponse Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
…HttpResponse Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
@poutsma Our branches have diverged as I made the changes to use |
…ettyCoreHttpHandlerAdapter # Conflicts: # spring-web/src/main/java/org/springframework/http/server/reactive/DefaultServerHttpRequestBuilder.java # spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreHttpHandlerAdapter.java # spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java # spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpResponse.java # spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketHandlerAdapter.java # spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketSession.java # spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketHandlerAdapter.java
…ettyCoreHttpHandlerAdapter # Conflicts: # spring-web/src/main/java/org/springframework/http/server/reactive/DefaultServerHttpRequestBuilder.java # spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreHttpHandlerAdapter.java # spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java # spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpResponse.java # spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketHandlerAdapter.java # spring-webflux/src/main/java/org/springframework/web/reactive/socket/adapter/JettyWebSocketSession.java # spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketHandlerAdapter.java
Actually, I'm not exactly sure why our branches were seen as divergent. I've merged yours back to mine and made sure that there are no differences, and also merged to lastest origin/main. |
I think it is likely a problem with the jetty ContentSourcePublisher, for which we already have a PR in review: jetty/jetty.project#11849
Agreed we are not making the 13th. We have a jetty release at the end of the month, so I will get #11849 merged for that and also look at change @rstoyanchev made. @lachlan-roberts can you look at the websocket reviews before end of month, so that any changes needed in next jetty release can be included. E.g. anything needed to get the Container without the Handler |
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
The |
Great! If I understand your other comment correctly, Jetty 12.0.11 will be out by the end of June, which should give us enough time to get this PR into 6.2.0-M5. |
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
@poutsma @rstoyanchev the build of this branch is now passing all tests with the staged release of jetty-12.0.11, which should be released very soon. |
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
@lachlan-roberts @gregw I see the artifacts appear to be on Maven Central as of June 28, but I see no announcements and the release-tracking issue I've retrieved Arjen's branch locally, made a couple polishes (fixing duplicate start/stop methods in |
@simonbasle The release is out in maven central and there is no taking it back. We have some people on vacation, hence the issue process has not yet completed. |
@lachlan-roberts unless I've missed something, you haven't yet signed the CLA have you? |
@simonbasle yes I have already signed the CLA. |
This provides an implementation of an HTTP Handler Adapter that is coded directly to the Eclipse Jetty core API, bypassing any servlet implementation. This includes a Jetty implementation of the spring `WebSocketClient` interface, `JettyWebSocketClient`, using an explicit dependency to the jetty-websocket-api. Closes spring-projectsgh-32097 Co-authored-by: Lachlan Roberts <lachlan@webtide.com> Co-authored-by: Arjen Poutsma <arjen.poutsma@broadcom.com>
This provides an implementation of a HTTP Handler Adaptor that is coded directly to the Eclipse Jetty core API, bypassing any servlet implementation.
Fixes #32035