I suppose there is no reason to return the full response, just return the headers

Signed-off-by: swinterberger <sean.winterberger@gmail.com>
This commit is contained in:
swinterberger
2019-09-12 20:03:07 -05:00
committed by Julien Viet
parent 734b364817
commit c8e2f00876
2 changed files with 7 additions and 12 deletions

View File

@@ -743,7 +743,7 @@ class Http1xClientConnection extends Http1xConnectionBase<WebSocketImpl> impleme
if (metrics != null) {
ws.setMetric(metrics.connected(endpointMetric, metric(), ws));
}
ws.headers(new HeadersAdaptor(ar.result().headers()));
ws.headers(ar.result());
}
wsHandler.handle(res);
ws.headers(null);

View File

@@ -14,12 +14,7 @@ import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.http.DefaultFullHttpResponse;
import io.netty.handler.codec.http.FullHttpResponse;
import io.netty.handler.codec.http.HttpContent;
import io.netty.handler.codec.http.HttpContentDecompressor;
import io.netty.handler.codec.http.HttpResponse;
import io.netty.handler.codec.http.LastHttpContent;
import io.netty.handler.codec.http.*;
import io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker;
import io.netty.handler.codec.http.websocketx.WebSocketHandshakeException;
import io.vertx.core.AsyncResult;
@@ -33,12 +28,12 @@ import io.vertx.core.http.WebsocketRejectedException;
*/
class WebSocketHandshakeInboundHandler extends ChannelInboundHandlerAdapter {
private final Handler<AsyncResult<FullHttpResponse>> wsHandler;
private final Handler<AsyncResult<HeadersAdaptor>> wsHandler;
private final WebSocketClientHandshaker handshaker;
private ChannelHandlerContext chctx;
private FullHttpResponse response;
WebSocketHandshakeInboundHandler(WebSocketClientHandshaker handshaker, Handler<AsyncResult<FullHttpResponse>> wsHandler) {
WebSocketHandshakeInboundHandler(WebSocketClientHandshaker handshaker, Handler<AsyncResult<HeadersAdaptor>> wsHandler) {
this.handshaker = handshaker;
this.wsHandler = wsHandler;
}
@@ -76,20 +71,20 @@ class WebSocketHandshakeInboundHandler extends ChannelInboundHandlerAdapter {
// remove decompressor as its not needed anymore once connection was upgraded to websockets
ctx.pipeline().remove(handler);
}
Future<FullHttpResponse> fut = handshakeComplete(response);
Future<HeadersAdaptor> fut = handshakeComplete(response);
wsHandler.handle(fut);
}
}
}
}
private Future<FullHttpResponse> handshakeComplete(FullHttpResponse response) {
private Future<HeadersAdaptor> handshakeComplete(FullHttpResponse response) {
if (response.status().code() != 101) {
return Future.failedFuture(new WebsocketRejectedException(response.status().code()));
} else {
try {
handshaker.finishHandshake(chctx.channel(), response);
return Future.succeededFuture(response);
return Future.succeededFuture(new HeadersAdaptor(response.headers()));
} catch (WebSocketHandshakeException e) {
return Future.failedFuture(e);
}