Replace close method with Undertow exchange listener
The Undertow HttpServerExchange has a complete listener which we can use instead of the close() method UndertowServerHttpRequest.
This commit is contained in:
parent
8d786e8bba
commit
d3e05296e1
|
|
@ -76,13 +76,11 @@ public class UndertowHttpHandlerAdapter extends HttpHandlerAdapterSupport
|
|||
if (!exchange.isResponseStarted() && exchange.getStatusCode() <= 500) {
|
||||
exchange.setStatusCode(500);
|
||||
}
|
||||
request.close();
|
||||
exchange.endExchange();
|
||||
}
|
||||
@Override
|
||||
public void onComplete() {
|
||||
logger.debug("Successfully completed request");
|
||||
request.close();
|
||||
exchange.endExchange();
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public class UndertowServerHttpRequest extends AbstractServerHttpRequest {
|
|||
super(initUri(exchange), initHeaders(exchange));
|
||||
this.exchange = exchange;
|
||||
this.body = new RequestBodyPublisher(exchange, dataBufferFactory);
|
||||
this.body.registerListener();
|
||||
this.body.registerListener(exchange);
|
||||
}
|
||||
|
||||
private static URI initUri(HttpServerExchange exchange) {
|
||||
|
|
@ -107,9 +107,6 @@ public class UndertowServerHttpRequest extends AbstractServerHttpRequest {
|
|||
return Flux.from(this.body);
|
||||
}
|
||||
|
||||
void close() {
|
||||
this.body.onAllDataRead();
|
||||
}
|
||||
|
||||
private static class RequestBodyPublisher extends AbstractListenerReadPublisher<DataBuffer> {
|
||||
|
||||
|
|
@ -134,7 +131,11 @@ public class UndertowServerHttpRequest extends AbstractServerHttpRequest {
|
|||
this.dataBufferFactory = dataBufferFactory;
|
||||
}
|
||||
|
||||
private void registerListener() {
|
||||
private void registerListener(HttpServerExchange exchange) {
|
||||
exchange.addExchangeCompleteListener((ex, next) -> {
|
||||
onAllDataRead();
|
||||
next.proceed();
|
||||
});
|
||||
this.requestChannel.getReadSetter().set(this.readListener);
|
||||
this.requestChannel.getCloseSetter().set(this.closeListener);
|
||||
this.requestChannel.resumeReads();
|
||||
|
|
|
|||
Loading…
Reference in New Issue