diff --git a/pom.xml b/pom.xml
index 89731f5..3bcff6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,6 +41,13 @@
1.5.2
+
+ org.slf4j
+ slf4j-simple
+ 1.7.25
+ test
+
+
\ No newline at end of file
diff --git a/src/main/java/cn/montaro/aria2/Aria2Client.java b/src/main/java/cn/montaro/aria2/Aria2Client.java
index 60cf4cf..0b1a785 100644
--- a/src/main/java/cn/montaro/aria2/Aria2Client.java
+++ b/src/main/java/cn/montaro/aria2/Aria2Client.java
@@ -79,7 +79,7 @@ public interface Aria2Client {
String getServers(String gid);
@Aria2Method(Aria2MethodName.TELL_ACTIVE)
- String tellActive(List keys);
+ String tellActive(String... keys);
@Aria2Method(Aria2MethodName.TELL_WAITING)
String tellWaiting(int offset, int num, String... keys);
diff --git a/src/main/java/cn/montaro/aria2/client/websocket/Aria2WebSocketProxy.java b/src/main/java/cn/montaro/aria2/client/websocket/Aria2WebSocketProxy.java
index 5d1448c..b90b662 100644
--- a/src/main/java/cn/montaro/aria2/client/websocket/Aria2WebSocketProxy.java
+++ b/src/main/java/cn/montaro/aria2/client/websocket/Aria2WebSocketProxy.java
@@ -97,7 +97,9 @@ public class Aria2WebSocketProxy implements InvocationHandler {
private T sendRequest(Aria2WebSocketRequest request, Type resultType) {
String id = request.getId();
- webSocket.send(serializeRequest(request));
+ String body = serializeRequest(request);
+ log.debug("send body:{}", body);
+ webSocket.send(body);
JsonObject returnResult = null;
while ((returnResult = this.webSocket.getResponse(id)) == null) {
Aria2WebSocketClientException exception = this.webSocket.getException(id);
@@ -106,6 +108,9 @@ public class Aria2WebSocketProxy implements InvocationHandler {
}
}
JsonElement result = returnResult.get("result");
+ if (resultType.equals(String.class)) {
+ return (T) result.toString();
+ }
return gson.fromJson(result, resultType);
}
@@ -145,8 +150,8 @@ public class Aria2WebSocketProxy implements InvocationHandler {
@Override
public void onMessage(String message) {
- JsonElement jsonElement = JsonParser.parseString(message);
- JsonObject jsonObject = jsonElement.getAsJsonObject();
+ log.debug("receive message:{}", message);
+ JsonObject jsonObject = JsonParser.parseString(message).getAsJsonObject();
String id = jsonObject.get("id").getAsString();
if (id == null) {
return;
diff --git a/src/main/resources/simplelogger.properties b/src/main/resources/simplelogger.properties
new file mode 100644
index 0000000..5c89a5a
--- /dev/null
+++ b/src/main/resources/simplelogger.properties
@@ -0,0 +1 @@
+org.slf4j.simpleLogger.defaultLogLevel=DEBUG
\ No newline at end of file
diff --git a/src/test/java/Aria2WebSocketClientTest.java b/src/test/java/Aria2WebSocketClientTest.java
index a9c9f22..ee717e2 100644
--- a/src/test/java/Aria2WebSocketClientTest.java
+++ b/src/test/java/Aria2WebSocketClientTest.java
@@ -2,8 +2,11 @@ import cn.montaro.aria2.Aria2Client;
import cn.montaro.aria2.Aria2ClientFactory;
import cn.montaro.aria2.client.websocket.Aria2WebSocketConfig;
import cn.montaro.aria2.client.websocket.Aria2WebSocketClient;
+import com.sun.org.apache.xpath.internal.SourceTree;
import org.junit.Test;
+import javax.lang.model.element.VariableElement;
+import java.sql.Array;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -16,11 +19,32 @@ import java.util.Map;
*/
public class Aria2WebSocketClientTest {
+ Aria2WebSocketConfig config = new Aria2WebSocketConfig().setSecret("123456");
+ Aria2Client client = Aria2ClientFactory.webSocketClient(config);
+
@Test
- public void test() {
- Aria2WebSocketConfig config = new Aria2WebSocketConfig().setSecret("123456");
- Aria2Client client = Aria2ClientFactory.webSocketClient(config);
- String version = client.getVersion();
- System.out.println(version);
+ public void tellActive() {
+ String s = client.tellActive();
+ System.out.println(s);
+ }
+
+ @Test
+ public void tellWaiting() {
+ String s = client.tellWaiting(0, 1000, null);
+ System.out.println(s);
+ }
+
+ @Test
+ public void getGlobalStat(){
+ String globalStat = client.getGlobalStat();
+ System.out.println(globalStat);
+ }
+
+ @Test
+ public void changeUri() {
+ List addUris = new ArrayList();
+ addUris.add("https://mirrors.tuna.tsinghua.edu.cn/centos/8.5.2111/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso");
+ String result = client.changeUri("97d4d126a7263df8", 1, new ArrayList(), addUris);
+ System.out.println(result);
}
}