From eb71be591d230ab372203e010d83edb8a1702af7 Mon Sep 17 00:00:00 2001 From: Lukas W Date: Tue, 12 May 2026 12:00:15 +0200 Subject: [PATCH] fix missing query string in websocket handshake --- .../java/com/testingbot/tunnel/proxy/WebsocketHandler.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/testingbot/tunnel/proxy/WebsocketHandler.java b/src/main/java/com/testingbot/tunnel/proxy/WebsocketHandler.java index 6b188f3..395b097 100644 --- a/src/main/java/com/testingbot/tunnel/proxy/WebsocketHandler.java +++ b/src/main/java/com/testingbot/tunnel/proxy/WebsocketHandler.java @@ -112,7 +112,11 @@ public void setIdleTimeout(long idleTimeout) { private Map performWebSocketHandshake(HttpServletRequest clientRequest, SocketChannel channel) throws IOException { // Send WebSocket upgrade request to target StringBuilder requestHeaders = new StringBuilder(); - requestHeaders.append(clientRequest.getMethod()).append(" ").append(clientRequest.getRequestURI()).append(" ").append(clientRequest.getProtocol()).append("\r\n"); + requestHeaders.append(clientRequest.getMethod()).append(" ").append(clientRequest.getRequestURI()); + if (clientRequest.getQueryString() != null) { + requestHeaders.append("?").append(clientRequest.getQueryString()); + } + requestHeaders.append(" ").append(clientRequest.getProtocol()).append("\r\n"); for (String headerName : Collections.list(clientRequest.getHeaderNames())) { requestHeaders.append(headerName).append(": ").append(clientRequest.getHeader(headerName)).append("\r\n"); }