From 11e58495fc7d11bd286b0230b8aeb65c7b400f0f Mon Sep 17 00:00:00 2001 From: ReaJason Date: Sat, 6 Dec 2025 14:14:35 +0800 Subject: [PATCH] feat: support jetty ee responseBodyProbe --- .../response/ResponseBodyGenerator.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) 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 3571edf0..f09ffa07 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 @@ -4,6 +4,7 @@ import com.reajason.javaweb.GenerationException; import com.reajason.javaweb.Server; import com.reajason.javaweb.buddy.MethodCallReplaceVisitorWrapper; import com.reajason.javaweb.buddy.TargetJreVersionVisitorWrapper; +import com.reajason.javaweb.probe.ProbeContent; import com.reajason.javaweb.probe.config.ProbeConfig; import com.reajason.javaweb.probe.config.ResponseBodyConfig; import com.reajason.javaweb.probe.generator.ByteBuddyShellGenerator; @@ -15,10 +16,15 @@ import com.reajason.javaweb.utils.ShellCommonUtil; import net.bytebuddy.ByteBuddy; 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; +import java.nio.charset.Charset; +import static java.nio.charset.StandardCharsets.UTF_8; import static net.bytebuddy.matcher.ElementMatchers.named; /** @@ -34,6 +40,9 @@ public class ResponseBodyGenerator extends ByteBuddyShellGenerator build(ByteBuddy buddy) { String name = probeContentConfig.getReqParamName(); Class getDataFromReqInterceptor = getDataFromReqInterceptor.class; + if (Server.Jetty.equals(probeContentConfig.getServer())) { + getDataFromReqInterceptor = getDataFromReqJettyInterceptor.class; + } Class writerClass = getWriterClass(); Class runnerClass = getRunnerClass(); DynamicType.Builder builder = buddy.redefine(writerClass) @@ -111,6 +120,29 @@ public class ResponseBodyGenerator extends ByteBuddyShellGenerator