Skip to content

Commit ed959e3

Browse files
author
wuayee
committed
[fit] keep NettyResponse from closing prematurely
1 parent 525f83d commit ed959e3

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

framework/fit/java/fit-builtin/plugins/fit-http-server-netty/src/main/java/modelengine/fit/http/server/netty/HttpClassicRequestAssembler.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,13 @@ private void handleHttpRequest(ChannelHandlerContext ctx, HttpRequest request) {
163163

164164
private void doHttpRequest(ChannelHandlerContext ctx, NettyHttpServerRequest request) {
165165
request.setExecuteThread(Thread.currentThread());
166+
167+
// Inline Netty response creation to avoid it being managed as a separate
168+
// try-with-resources variable. This prevents premature closure at the end
169+
// of the try block, which would cause write failures when SSE sends data.
166170
try (HttpClassicServerRequest classicRequest = HttpClassicServerRequest.create(this.server, request);
167-
NettyHttpServerResponse response = new NettyHttpServerResponse(ctx, request);
168-
HttpClassicServerResponse classicResponse = HttpClassicServerResponse.create(this.server, response)) {
171+
HttpClassicServerResponse classicResponse = HttpClassicServerResponse.create(this.server,
172+
new NettyHttpServerResponse(ctx, request))) {
169173
HttpHandler handler = this.server.httpDispatcher().dispatch(classicRequest, classicResponse);
170174
classicRequest.attributes().set(PATH_PATTERN.key(), handler.pathPattern());
171175
classicRequest.attributes().set(HTTP_HANDLER.key(), handler);

0 commit comments

Comments
 (0)