diff --git a/core/src/main/java/com/minekube/connect/tunnel/WebSocketTunnelTransport.java b/core/src/main/java/com/minekube/connect/tunnel/WebSocketTunnelTransport.java index b4f10a6a..21a9c735 100644 --- a/core/src/main/java/com/minekube/connect/tunnel/WebSocketTunnelTransport.java +++ b/core/src/main/java/com/minekube/connect/tunnel/WebSocketTunnelTransport.java @@ -34,8 +34,6 @@ import com.minekube.connect.util.ReflectionUtils; import java.io.EOFException; import java.lang.reflect.Field; -import java.net.URI; -import java.net.URISyntaxException; import java.util.Collection; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Stream; @@ -53,8 +51,6 @@ public class WebSocketTunnelTransport implements TunnelClientTransport { private static final String SESSION_HEADER = "Connect-Session"; - private static final String FLY_INSTANCE_QUERY = "fi"; - private static final String FLY_FORCE_INSTANCE_HEADER = "Fly-Force-Instance-Id"; private static final Field DATA = ReflectionUtils.getField(ByteString.class, "data"); private final OkHttpClient httpClient; @@ -80,10 +76,6 @@ public TunnelConn tunnel(final String tunnelServiceAddr, String sessionId, Handl Request.Builder request = new Request.Builder() .url(tunnelServiceAddr) .addHeader(SESSION_HEADER, sessionId); - String flyInstanceId = flyInstanceId(tunnelServiceAddr); - if (flyInstanceId != null && !flyInstanceId.isEmpty()) { - request.addHeader(FLY_FORCE_INSTANCE_HEADER, flyInstanceId); - } AtomicBoolean closeHandlerOnce = new AtomicBoolean(); Runnable handlerOnClose = () -> { @@ -170,25 +162,4 @@ public void close() { .filter(call -> call.request().header(SESSION_HEADER) != null) .forEach(Call::cancel); } - - private static String flyInstanceId(String tunnelServiceAddr) { - URI uri; - try { - uri = new URI(tunnelServiceAddr); - } catch (URISyntaxException e) { - return null; - } - String query = uri.getRawQuery(); - if (query == null || query.isEmpty()) { - return null; - } - for (String param : query.split("&")) { - int separator = param.indexOf('='); - String name = separator >= 0 ? param.substring(0, separator) : param; - if (FLY_INSTANCE_QUERY.equals(name)) { - return separator >= 0 ? param.substring(separator + 1) : ""; - } - } - return null; - } } diff --git a/core/src/test/java/com/minekube/connect/tunnel/TunnelerTest.java b/core/src/test/java/com/minekube/connect/tunnel/TunnelerTest.java index fd4ae251..018ca235 100644 --- a/core/src/test/java/com/minekube/connect/tunnel/TunnelerTest.java +++ b/core/src/test/java/com/minekube/connect/tunnel/TunnelerTest.java @@ -200,7 +200,7 @@ void receivesBinaryFrameWhenByteStringDataFieldIsUnavailable() throws Exception } @Test - void sendsFlyForceInstanceHeaderWhenTunnelAddressTargetsFlyMachine() throws Exception { + void omitsFlyForceInstanceHeaderWhenTunnelAddressTargetsFlyMachine() throws Exception { OkHttpClient client = new OkHttpClient(); TunnelConn conn = null; @@ -216,7 +216,8 @@ void sendsFlyForceInstanceHeaderWhenTunnelAddressTargetsFlyMachine() throws Exce assertNotNull(request); assertEquals("session-123", request.getHeader("Connect-Session")); - assertEquals("machine-123", request.getHeader("Fly-Force-Instance-Id")); + assertNull(request.getHeader("Fly-Force-Instance-Id")); + assertEquals("/tunnel?fi=machine-123&cid=", request.getPath()); } finally { if (conn != null) { conn.close();