@@ -31,17 +31,8 @@ public ResponseBodyGenerator(ProbeConfig probeConfig, ResponseBodyConfig probeCo
3131
3232 @ Override
3333 protected DynamicType .Builder <?> build (ByteBuddy buddy ) {
34- String name ;
35- Class <?> getDataFromReqInterceptor ;
36- if (probeContentConfig .getReqParamName () != null ) {
37- name = probeContentConfig .getReqParamName ();
38- getDataFromReqInterceptor = getDataFromReqParamInterceptor .class ;
39- } else if (probeContentConfig .getReqHeaderName () != null ) {
40- name = probeContentConfig .getReqHeaderName ();
41- getDataFromReqInterceptor = getDataFromReqHeaderInterceptor .class ;
42- }else {
43- throw new GenerationException ("responseBody probeShell must set headerName or paramName" );
44- }
34+ String name = probeContentConfig .getReqParamName ();
35+ Class <?> getDataFromReqInterceptor = getDataFromReqInterceptor .class ;
4536 Class <?> writerClass = getWriterClass ();
4637 Class <?> runnerClass = getRunnerClass ();
4738 return buddy .redefine (writerClass )
@@ -95,26 +86,17 @@ private Class<?> getWriterClass() {
9586 }
9687 }
9788
98- static class getDataFromReqHeaderInterceptor {
99- @ Advice .OnMethodExit
100- public static void enter (@ Advice .Argument (value = 0 ) Object request ,
101- @ NameAnnotation String name ,
102- @ Advice .Return (readOnly = false ) String ret ) throws Exception {
103- try {
104- ret = ((String ) ShellCommonUtil .invokeMethod (request , "getHeader" , new Class []{String .class }, new Object []{name }));
105- } catch (Exception e ) {
106- ret = null ;
107- }
108- }
109- }
110-
111- static class getDataFromReqParamInterceptor {
89+ static class getDataFromReqInterceptor {
11290 @ Advice .OnMethodExit
11391 public static void enter (@ Advice .Argument (value = 0 ) Object request ,
11492 @ NameAnnotation String name ,
11593 @ Advice .Return (readOnly = false ) String ret ) throws Exception {
11694 try {
117- ret = ((String ) ShellCommonUtil .invokeMethod (request , "getParameter" , new Class []{String .class }, new Object []{name }));
95+ String p = (String ) ShellCommonUtil .invokeMethod (request , "getParameter" , new Class []{String .class }, new Object []{name });
96+ if (p == null || p .isEmpty ()) {
97+ p = (String ) ShellCommonUtil .invokeMethod (request , "getHeader" , new Class []{String .class }, new Object []{name });
98+ }
99+ ret = p ;
118100 } catch (Exception e ) {
119101 ret = null ;
120102 }
0 commit comments