diff --git a/frontend/server/src/main/java/org/pytorch/serve/servingsdk/impl/ModelServerRequest.java b/frontend/server/src/main/java/org/pytorch/serve/servingsdk/impl/ModelServerRequest.java index 6e918914ce..b42b1f92cf 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/servingsdk/impl/ModelServerRequest.java +++ b/frontend/server/src/main/java/org/pytorch/serve/servingsdk/impl/ModelServerRequest.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; import org.pytorch.serve.servingsdk.http.Request; +import org.pytorch.serve.util.NettyUtils; public class ModelServerRequest implements Request { private FullHttpRequest req; @@ -45,6 +46,6 @@ public String getContentType() { @Override public ByteArrayInputStream getInputStream() { - return new ByteArrayInputStream(req.content().array()); + return new ByteArrayInputStream(NettyUtils.getBytes(req.content())); } } diff --git a/frontend/server/src/test/java/org/pytorch/serve/util/PluginSdkTest.java b/frontend/server/src/test/java/org/pytorch/serve/util/PluginSdkTest.java new file mode 100644 index 0000000000..157a74c5be --- /dev/null +++ b/frontend/server/src/test/java/org/pytorch/serve/util/PluginSdkTest.java @@ -0,0 +1,26 @@ +package org.pytorch.serve.util; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.handler.codec.http.*; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import org.pytorch.serve.servingsdk.http.Request; +import org.pytorch.serve.servingsdk.impl.ModelServerRequest; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class PluginSdkTest { + @Test + public void testReadRequestBodyFromPlugin() throws IOException { + ByteBuf buf = Unpooled.directBuffer(); + buf.writeBytes("test".getBytes()); + FullHttpRequest req = + new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.POST, "", buf); + Request request = new ModelServerRequest(req, new QueryStringDecoder("")); + String line = + new BufferedReader(new InputStreamReader(request.getInputStream())).readLine(); + Assert.assertEquals(line, "test"); + } +} diff --git a/frontend/server/testng.xml b/frontend/server/testng.xml index 2518798907..c53dd9bc58 100644 --- a/frontend/server/testng.xml +++ b/frontend/server/testng.xml @@ -5,6 +5,7 @@ +