From 448c3342cc9dc3a4d74b43d7f5fab0faae1ca721 Mon Sep 17 00:00:00 2001 From: xuyang <942995218@qq.com> Date: Thu, 21 Sep 2023 15:34:15 +0800 Subject: [PATCH] refactor code --- .../arthas/grpcweb/proxy/MessageDeframer.java | 5 ++--- .../arthas/grpcweb/proxy/MessageUtils.java | 1 - .../arthas/grpcweb/proxy/MetadataUtil.java | 1 - .../grpcweb/proxy/SendGrpcWebResponse.java | 1 - .../proxy/server/GrpcWebProxyHandler.java | 2 -- .../proxy/server/GrpcWebProxyServer.java | 1 - .../server/GrpcWebProxyServerInitializer.java | 1 - .../arthas/grpcweb/proxy/util/IOUtils.java | 19 ------------------- .../grpcweb/proxy/util/StringUtils.java | 13 ------------- .../proxy/server/GrpcWebProxyServerTest.java | 10 ++++++++-- ...{startGrpcTest.java => StartGrpcTest.java} | 5 ++--- ...xyTest.java => StartGrpcWebProxyTest.java} | 4 ++-- 12 files changed, 14 insertions(+), 49 deletions(-) delete mode 100644 arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/IOUtils.java delete mode 100644 arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/StringUtils.java rename arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/{startGrpcTest.java => StartGrpcTest.java} (91%) rename arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/{startGrpcWebProxyTest.java => StartGrpcWebProxyTest.java} (79%) diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageDeframer.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageDeframer.java index 2e3ffd2a1c..f916013840 100644 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageDeframer.java +++ b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageDeframer.java @@ -16,10 +16,9 @@ package com.taobao.arthas.grpcweb.proxy; import com.taobao.arthas.grpcweb.proxy.MessageUtils.ContentType; -import com.taobao.arthas.grpcweb.proxy.util.IOUtils; +import com.taobao.arthas.common.IOUtils; import com.alibaba.arthas.deps.org.slf4j.Logger; import com.alibaba.arthas.deps.org.slf4j.LoggerFactory; - import java.io.IOException; import java.io.InputStream; import java.lang.invoke.MethodHandles; @@ -63,7 +62,7 @@ public boolean processInput(InputStream in, MessageUtils.ContentType contentType byte[] inBytes; try { InputStream inStream = (contentType == ContentType.GRPC_WEB_TEXT) ? Base64.getDecoder().wrap(in) : in; - inBytes = IOUtils.toByteArray(inStream); + inBytes = IOUtils.getBytes(inStream); } catch (IOException e) { e.printStackTrace(); logger.warn("invalid input"); diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageUtils.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageUtils.java index c4ab04d473..c861a2f197 100644 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageUtils.java +++ b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MessageUtils.java @@ -16,7 +16,6 @@ package com.taobao.arthas.grpcweb.proxy; import com.google.common.annotations.VisibleForTesting; - import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MetadataUtil.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MetadataUtil.java index 6e36dc1a87..90c4d574a2 100644 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MetadataUtil.java +++ b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/MetadataUtil.java @@ -17,7 +17,6 @@ import io.grpc.Metadata; import io.netty.handler.codec.http.HttpHeaders; - import java.util.*; class MetadataUtil { diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/SendGrpcWebResponse.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/SendGrpcWebResponse.java index a5d93284cd..0ca26d744c 100644 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/SendGrpcWebResponse.java +++ b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/SendGrpcWebResponse.java @@ -23,7 +23,6 @@ import io.netty.handler.stream.ChunkedStream; import com.alibaba.arthas.deps.org.slf4j.Logger; import com.alibaba.arthas.deps.org.slf4j.LoggerFactory; - import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyHandler.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyHandler.java index bc161c0359..7964cd0be4 100644 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyHandler.java +++ b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyHandler.java @@ -1,7 +1,5 @@ - package com.taobao.arthas.grpcweb.proxy.server; - import com.taobao.arthas.grpcweb.proxy.GrpcServiceConnectionManager; import com.taobao.arthas.grpcweb.proxy.GrpcWebRequestHandler; import io.netty.buffer.Unpooled; diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServer.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServer.java index c416913859..e240a0a1c9 100644 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServer.java +++ b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServer.java @@ -1,4 +1,3 @@ - package com.taobao.arthas.grpcweb.proxy.server; import io.netty.bootstrap.ServerBootstrap; diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerInitializer.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerInitializer.java index 900c6cb0c9..e01f012f87 100644 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerInitializer.java +++ b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerInitializer.java @@ -1,4 +1,3 @@ - package com.taobao.arthas.grpcweb.proxy.server; import io.netty.channel.ChannelInitializer; diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/IOUtils.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/IOUtils.java deleted file mode 100644 index 0377198ce5..0000000000 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/IOUtils.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.taobao.arthas.grpcweb.proxy.util; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; - -public class IOUtils { - - public static byte[] toByteArray(InputStream inputStream) throws IOException { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - byte[] buffer = new byte[4096]; - int bytesRead; - while ((bytesRead = inputStream.read(buffer)) != -1) { - outputStream.write(buffer, 0, bytesRead); - } - return outputStream.toByteArray(); - } - -} diff --git a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/StringUtils.java b/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/StringUtils.java deleted file mode 100644 index 3aa4ba8a6d..0000000000 --- a/arthas-grpc-web-proxy/src/main/java/com/taobao/arthas/grpcweb/proxy/util/StringUtils.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.taobao.arthas.grpcweb.proxy.util; -public class StringUtils { - public static String joinWith(String delimiter, String... strings) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < strings.length; i++) { - sb.append(strings[i]); - if (i < strings.length - 1) { - sb.append(delimiter); - } - } - return sb.toString(); - } -} \ No newline at end of file diff --git a/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerTest.java b/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerTest.java index 5bae6c4feb..b7d217a118 100644 --- a/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerTest.java +++ b/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/GrpcWebProxyServerTest.java @@ -32,16 +32,22 @@ public void startServer(){ GRPC_PORT = SocketUtils.findAvailableTcpPort(); // 启动grpc服务 Thread grpcStart = new Thread(() -> { - startGrpcTest startGrpcTest = new startGrpcTest(GRPC_PORT); + StartGrpcTest startGrpcTest = new StartGrpcTest(GRPC_PORT); startGrpcTest.startGrpcService(); }); grpcStart.start(); // 启动grpc-web-proxy服务 Thread grpcWebProxyStart = new Thread(() -> { - startGrpcWebProxyTest startGrpcWebProxyTest = new startGrpcWebProxyTest(GRPC_WEB_PROXY_PORT,GRPC_PORT); + StartGrpcWebProxyTest startGrpcWebProxyTest = new StartGrpcWebProxyTest(GRPC_WEB_PROXY_PORT,GRPC_PORT); startGrpcWebProxyTest.startGrpcWebProxy(); }); grpcWebProxyStart.start(); + try { + // waiting for the server to start + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } hostName = "http://127.0.0.1:" + GRPC_WEB_PROXY_PORT; httpClient = HttpClients.createDefault(); } diff --git a/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/startGrpcTest.java b/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/StartGrpcTest.java similarity index 91% rename from arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/startGrpcTest.java rename to arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/StartGrpcTest.java index ca6318f187..1589a8928d 100644 --- a/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/startGrpcTest.java +++ b/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/StartGrpcTest.java @@ -4,17 +4,16 @@ import com.taobao.arthas.grpcweb.proxy.server.grpcService.GreeterService; import com.taobao.arthas.grpcweb.proxy.server.grpcService.HelloImpl; import io.grpc.BindableService; -import io.grpc.Grpc; import io.grpc.Server; import io.grpc.ServerBuilder; import java.io.IOException; -public class startGrpcTest { +public class StartGrpcTest { private int GRPC_PORT; - public startGrpcTest(int grpcPort){ + public StartGrpcTest(int grpcPort){ this.GRPC_PORT = grpcPort; } diff --git a/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/startGrpcWebProxyTest.java b/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/StartGrpcWebProxyTest.java similarity index 79% rename from arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/startGrpcWebProxyTest.java rename to arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/StartGrpcWebProxyTest.java index 8f6b4e6f0a..5f15996404 100644 --- a/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/startGrpcWebProxyTest.java +++ b/arthas-grpc-web-proxy/src/test/java/com/taobao/arthas/grpcweb/proxy/server/StartGrpcWebProxyTest.java @@ -1,13 +1,13 @@ package com.taobao.arthas.grpcweb.proxy.server; -public class startGrpcWebProxyTest { +public class StartGrpcWebProxyTest { private int GRPC_WEB_PROXY_PORT; private int GRPC_PORT; - public startGrpcWebProxyTest(int grpcWebPort, int grpcPort){ + public StartGrpcWebProxyTest(int grpcWebPort, int grpcPort){ this.GRPC_WEB_PROXY_PORT = grpcWebPort; this.GRPC_PORT = grpcPort; }