From 93e62ab14d6d51b276646dd8ec500cd318d722fb Mon Sep 17 00:00:00 2001 From: Laszlo Attila Magyar Date: Fri, 21 Feb 2025 08:57:14 +0100 Subject: [PATCH] change auth parameter from string map to JSONObject to have more control over what we send in CONNECT packet --- src/main/java/io/socket/client/Manager.java | 8 +++++++- src/main/java/io/socket/client/Socket.java | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/socket/client/Manager.java b/src/main/java/io/socket/client/Manager.java index 04198998..4f73450f 100644 --- a/src/main/java/io/socket/client/Manager.java +++ b/src/main/java/io/socket/client/Manager.java @@ -9,6 +9,7 @@ import io.socket.thread.EventThread; import okhttp3.Call; import okhttp3.WebSocket; +import org.json.JSONObject; import java.net.URI; import java.util.*; @@ -562,11 +563,16 @@ public static class Options extends io.socket.engineio.client.Socket.Options { public double randomizationFactor; public Parser.Encoder encoder; public Parser.Decoder decoder; - public Map auth; + public JSONObject auth; /** * Connection timeout (ms). Set -1 to disable. */ public long timeout = 20000; + + // helper method for easier migration from earlier versions + public void authMap(Map authMap) { + this.auth = new JSONObject(authMap); + } } } diff --git a/src/main/java/io/socket/client/Socket.java b/src/main/java/io/socket/client/Socket.java index 2227a30d..e7ef39fb 100644 --- a/src/main/java/io/socket/client/Socket.java +++ b/src/main/java/io/socket/client/Socket.java @@ -59,7 +59,7 @@ public class Socket extends Emitter { private int ids; private final String nsp; private final Manager io; - private final Map auth; + private final JSONObject auth; private final Map acks = new ConcurrentHashMap<>(); private Queue subs; private final Queue> receiveBuffer = new ConcurrentLinkedQueue<>(); @@ -269,7 +269,7 @@ private void onopen() { logger.fine("transport is open - connecting"); if (this.auth != null) { - this.packet(new Packet<>(Parser.CONNECT, new JSONObject(this.auth))); + this.packet(new Packet<>(Parser.CONNECT, this.auth)); } else { this.packet(new Packet<>(Parser.CONNECT)); }