diff --git a/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java b/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java index 9ac210a8..1a33a107 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java @@ -18,7 +18,6 @@ import net.bytebuddy.asm.Advice; import net.bytebuddy.dynamic.DynamicType; import net.bytebuddy.implementation.FixedValue; import org.apache.commons.lang3.StringUtils; -import org.eclipse.jetty.server.Request; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -139,7 +138,8 @@ public class ResponseBodyGenerator extends ByteBuddyShellGenerator requestClass = request.getClass().getClassLoader().loadClass("org.eclipse.jetty.server.Request"); + Object parameters = requestClass.getMethod("extractQueryParameters", requestClass, Charset.class).invoke(null, request, UTF_8); String p = (String) ShellCommonUtil.invokeMethod(parameters, "getValue", new Class[]{String.class}, new Object[]{name}); if (p == null || p.isEmpty()) { Object headers = ShellCommonUtil.invokeMethod(request, "getHeaders", null, null); diff --git a/generator/src/main/java/com/reajason/javaweb/probe/payload/response/JettyWriter.java b/generator/src/main/java/com/reajason/javaweb/probe/payload/response/JettyWriter.java index a569507d..f199c40b 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/payload/response/JettyWriter.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/payload/response/JettyWriter.java @@ -1,7 +1,5 @@ package com.reajason.javaweb.probe.payload.response; -import org.eclipse.jetty.util.Callback; - import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.io.PrintStream; @@ -72,7 +70,8 @@ public class JettyWriter { } catch (Exception x) { invokeMethod(response, "setStatus", new Class[]{int.class}, new Object[]{200}); ByteBuffer content = UTF_8.encode(result); - invokeMethod(response, "write", new Class[]{boolean.class, ByteBuffer.class, Callback.class}, new Object[]{true, content, null}); + Class callBackClass = request.getClass().getClassLoader().loadClass("org.eclipse.jetty.util.Callback"); + invokeMethod(response, "write", new Class[]{boolean.class, ByteBuffer.class, callBackClass}, new Object[]{true, content, null}); } } }