mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-27 16:59:39 -05:00
Convert to and use LiveClientStopType enum for disconnecting websocket from magic numbers!
This commit is contained in:
@@ -35,7 +35,7 @@ import io.github.jwdeveloper.tiktok.listener.ListenersManager;
|
||||
import io.github.jwdeveloper.tiktok.live.*;
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.ProtoMessageFetchResult;
|
||||
import io.github.jwdeveloper.tiktok.models.ConnectionState;
|
||||
import io.github.jwdeveloper.tiktok.websocket.LiveSocketClient;
|
||||
import io.github.jwdeveloper.tiktok.websocket.*;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Base64;
|
||||
@@ -166,7 +166,7 @@ public class TikTokLiveClient implements LiveClient
|
||||
tikTokEventHandler.publish(this, new TikTokRoomInfoEvent(roomInfo));
|
||||
}
|
||||
|
||||
public void disconnect(int type) {
|
||||
public void disconnect(LiveClientStopType type) {
|
||||
if (webSocketClient.isConnected())
|
||||
webSocketClient.stop(type);
|
||||
if (!roomInfo.hasConnectionState(ConnectionState.DISCONNECTED))
|
||||
|
||||
@@ -57,7 +57,7 @@ public class TikTokWebSocketClient implements LiveSocketClient {
|
||||
@Override
|
||||
public void start(LiveConnectionData.Response connectionData, LiveClient liveClient) {
|
||||
if (isConnected())
|
||||
stop(0);
|
||||
stop(LiveClientStopType.NORMAL);
|
||||
|
||||
messageHandler.handle(liveClient, connectionData.getWebcastResponse());
|
||||
|
||||
@@ -129,17 +129,17 @@ public class TikTokWebSocketClient implements LiveSocketClient {
|
||||
}
|
||||
}
|
||||
|
||||
public void stop(int type) {
|
||||
public void stop(LiveClientStopType type) {
|
||||
if (isConnected()) {
|
||||
switch (type) {
|
||||
case 1 -> {
|
||||
case CLOSE_BLOCKING -> {
|
||||
try {
|
||||
webSocketClient.closeBlocking();
|
||||
} catch (InterruptedException e) {
|
||||
throw new TikTokLiveException("Failed to stop the websocket");
|
||||
}
|
||||
}
|
||||
case 2 -> webSocketClient.closeConnection(CloseFrame.NORMAL, "");
|
||||
case DISCONNECT -> webSocketClient.closeConnection(CloseFrame.NORMAL, "");
|
||||
default -> webSocketClient.close();
|
||||
}
|
||||
heartbeatTask.stop(webSocketClient);
|
||||
|
||||
@@ -44,7 +44,7 @@ public class TikTokWebSocketOfflineClient implements LiveSocketClient {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(int type) {
|
||||
public void stop(LiveClientStopType type) {
|
||||
if (liveClient != null)
|
||||
handler.publish(liveClient, new TikTokDisconnectedEvent("Stopping"));
|
||||
}
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
package io.github.jwdeveloper.tiktok.websocket.euler;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.data.requests.LiveConnectionData;
|
||||
import io.github.jwdeveloper.tiktok.data.settings.*;
|
||||
import io.github.jwdeveloper.tiktok.exceptions.*;
|
||||
import io.github.jwdeveloper.tiktok.data.settings.LiveClientSettings;
|
||||
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException;
|
||||
import io.github.jwdeveloper.tiktok.live.*;
|
||||
import io.github.jwdeveloper.tiktok.websocket.*;
|
||||
import org.java_websocket.client.WebSocketClient;
|
||||
import org.java_websocket.framing.CloseFrame;
|
||||
|
||||
import java.net.*;
|
||||
import java.net.URI;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class TikTokWebSocketEulerClient implements LiveSocketClient {
|
||||
@@ -53,7 +53,7 @@ public class TikTokWebSocketEulerClient implements LiveSocketClient {
|
||||
@Override
|
||||
public void start(LiveConnectionData.Response connectionData, LiveClient liveClient) {
|
||||
if (isConnected())
|
||||
stop(0);
|
||||
stop(LiveClientStopType.NORMAL);
|
||||
|
||||
webSocketClient = new TikTokWebSocketEulerListener(
|
||||
URI.create("wss://ws.eulerstream.com?uniqueId=%s&apiKey=%s&features.rawMessages=true".formatted(liveClient.getRoomInfo().getHostName(), clientSettings.getApiKey())),
|
||||
@@ -74,17 +74,17 @@ public class TikTokWebSocketEulerClient implements LiveSocketClient {
|
||||
}
|
||||
}
|
||||
|
||||
public void stop(int type) {
|
||||
public void stop(LiveClientStopType type) {
|
||||
if (isConnected()) {
|
||||
switch (type) {
|
||||
case 1 -> {
|
||||
case CLOSE_BLOCKING -> {
|
||||
try {
|
||||
webSocketClient.closeBlocking();
|
||||
} catch (InterruptedException e) {
|
||||
throw new TikTokLiveException("Failed to stop the websocket");
|
||||
}
|
||||
}
|
||||
case 2 -> webSocketClient.closeConnection(CloseFrame.NORMAL, "");
|
||||
case DISCONNECT -> webSocketClient.closeConnection(CloseFrame.NORMAL, "");
|
||||
default -> webSocketClient.close();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user