@@ -89,101 +89,91 @@ public void processAction(final HttpRequest request, final ResponseWriter respon
89
89
httpStateHandler .log (new ExpectationMatchLogEntry (request , expectation ));
90
90
switch (action .getType ()) {
91
91
case RESPONSE : {
92
- final HttpResponse httpResponse = (HttpResponse ) action ;
93
- scheduler .schedule (new Runnable () {
92
+ scheduler .submit (new Runnable () {
94
93
public void run () {
95
- HttpResponse response = httpResponseActionHandler .handle (httpResponse );
96
- writeResponseActionResponse (response , responseWriter , request , action );
94
+ final HttpResponse response = httpResponseActionHandler .handle (( HttpResponse ) action );
95
+ writeResponseActionResponse (response , responseWriter , request , action , synchronous );
97
96
}
98
- }, httpResponse . getDelay (), synchronous );
97
+ }, synchronous );
99
98
break ;
100
99
}
101
100
case RESPONSE_TEMPLATE : {
102
- final HttpTemplate httpTemplate = (HttpTemplate ) action ;
103
- scheduler .schedule (new Runnable () {
101
+ scheduler .submit (new Runnable () {
104
102
public void run () {
105
- HttpResponse response = httpResponseTemplateActionHandler .handle (httpTemplate , request );
106
- writeResponseActionResponse (response , responseWriter , request , action );
103
+ final HttpResponse response = httpResponseTemplateActionHandler .handle (( HttpTemplate ) action , request );
104
+ writeResponseActionResponse (response , responseWriter , request , action , synchronous );
107
105
}
108
- }, httpTemplate . getDelay (), synchronous );
106
+ }, synchronous );
109
107
break ;
110
108
}
111
109
case RESPONSE_CLASS_CALLBACK : {
112
- final HttpClassCallback classCallback = (HttpClassCallback ) action ;
113
110
scheduler .submit (new Runnable () {
114
111
public void run () {
115
- HttpResponse response = httpResponseClassCallbackActionHandler .handle (classCallback , request );
116
- writeResponseActionResponse (response , responseWriter , request , action );
112
+ final HttpResponse response = httpResponseClassCallbackActionHandler .handle (( HttpClassCallback ) action , request );
113
+ writeResponseActionResponse (response , responseWriter , request , action , synchronous );
117
114
}
118
115
}, synchronous );
119
116
break ;
120
117
}
121
118
case RESPONSE_OBJECT_CALLBACK : {
122
- final HttpObjectCallback objectCallback = (HttpObjectCallback ) action ;
123
119
scheduler .submit (new Runnable () {
124
120
public void run () {
125
- httpResponseObjectCallbackActionHandler .handle (ActionHandler .this , objectCallback , request , responseWriter );
121
+ httpResponseObjectCallbackActionHandler .handle (ActionHandler .this , ( HttpObjectCallback ) action , request , responseWriter , synchronous );
126
122
}
127
123
}, synchronous );
128
124
break ;
129
125
}
130
126
case FORWARD : {
131
- final HttpForward httpForward = (HttpForward ) action ;
132
127
scheduler .schedule (new Runnable () {
133
128
public void run () {
134
- final HttpForwardActionResult responseFuture = httpForwardActionHandler .handle (httpForward , request );
129
+ final HttpForwardActionResult responseFuture = httpForwardActionHandler .handle (( HttpForward ) action , request );
135
130
writeForwardActionResponse (responseFuture , responseWriter , request , action , synchronous );
136
131
}
137
- }, httpForward .getDelay (), synchronous );
132
+ }, synchronous , action .getDelay ());
138
133
break ;
139
134
}
140
135
case FORWARD_TEMPLATE : {
141
- final HttpTemplate httpTemplate = (HttpTemplate ) action ;
142
136
scheduler .schedule (new Runnable () {
143
137
public void run () {
144
- final HttpForwardActionResult responseFuture = httpForwardTemplateActionHandler .handle (httpTemplate , request );
138
+ final HttpForwardActionResult responseFuture = httpForwardTemplateActionHandler .handle (( HttpTemplate ) action , request );
145
139
writeForwardActionResponse (responseFuture , responseWriter , request , action , synchronous );
146
140
}
147
- }, httpTemplate .getDelay (), synchronous );
141
+ }, synchronous , action .getDelay ());
148
142
break ;
149
143
}
150
144
case FORWARD_CLASS_CALLBACK : {
151
- final HttpClassCallback classCallback = (HttpClassCallback ) action ;
152
- scheduler .submit (new Runnable () {
145
+ scheduler .schedule (new Runnable () {
153
146
public void run () {
154
- final HttpForwardActionResult responseFuture = httpForwardClassCallbackActionHandler .handle (classCallback , request );
147
+ final HttpForwardActionResult responseFuture = httpForwardClassCallbackActionHandler .handle (( HttpClassCallback ) action , request );
155
148
writeForwardActionResponse (responseFuture , responseWriter , request , action , synchronous );
156
149
}
157
- }, synchronous );
150
+ }, synchronous , action . getDelay () );
158
151
break ;
159
152
}
160
153
case FORWARD_OBJECT_CALLBACK : {
161
- final HttpObjectCallback objectCallback = (HttpObjectCallback ) action ;
162
- scheduler .submit (new Runnable () {
154
+ scheduler .schedule (new Runnable () {
163
155
public void run () {
164
- httpForwardObjectCallbackActionHandler .handle (ActionHandler .this , objectCallback , request , responseWriter , synchronous );
156
+ httpForwardObjectCallbackActionHandler .handle (ActionHandler .this , ( HttpObjectCallback ) action , request , responseWriter , synchronous );
165
157
}
166
- }, synchronous );
158
+ }, synchronous , action . getDelay () );
167
159
break ;
168
160
}
169
161
case FORWARD_REPLACE : {
170
- final HttpOverrideForwardedRequest httpOverrideForwardedRequest = (HttpOverrideForwardedRequest ) action ;
171
162
scheduler .schedule (new Runnable () {
172
163
public void run () {
173
- final HttpForwardActionResult responseFuture = httpOverrideForwardedRequestCallbackActionHandler .handle (httpOverrideForwardedRequest , request );
164
+ final HttpForwardActionResult responseFuture = httpOverrideForwardedRequestCallbackActionHandler .handle (( HttpOverrideForwardedRequest ) action , request );
174
165
writeForwardActionResponse (responseFuture , responseWriter , request , action , synchronous );
175
166
}
176
- }, httpOverrideForwardedRequest .getDelay (), synchronous );
167
+ }, synchronous , action .getDelay ());
177
168
break ;
178
169
}
179
170
case ERROR : {
180
- final HttpError httpError = (HttpError ) action ;
181
171
scheduler .schedule (new Runnable () {
182
172
public void run () {
183
- httpErrorActionHandler .handle (httpError , ctx );
184
- mockServerLogger .info (EXPECTATION_RESPONSE , request , "returning error:{}for request:{}for action:{}" , httpError , request , action );
173
+ httpErrorActionHandler .handle (( HttpError ) action , ctx );
174
+ mockServerLogger .info (EXPECTATION_RESPONSE , request , "returning error:{}for request:{}for action:{}" , action , request , action );
185
175
}
186
- }, httpError .getDelay (), synchronous );
176
+ }, synchronous , action .getDelay ());
187
177
break ;
188
178
}
189
179
}
@@ -236,9 +226,13 @@ public void run() {
236
226
}
237
227
}
238
228
239
- void writeResponseActionResponse (HttpResponse response , ResponseWriter responseWriter , HttpRequest request , Action action ) {
240
- responseWriter .writeResponse (request , response , false );
241
- mockServerLogger .info (EXPECTATION_RESPONSE , request , "returning response:{}for request:{}for action:{}" , response , request , action );
229
+ void writeResponseActionResponse (final HttpResponse response , final ResponseWriter responseWriter , final HttpRequest request , final Action action , boolean synchronous ) {
230
+ scheduler .schedule (new Runnable () {
231
+ public void run () {
232
+ responseWriter .writeResponse (request , response , false );
233
+ mockServerLogger .info (EXPECTATION_RESPONSE , request , "returning response:{}for request:{}for action:{}" , response , request , action );
234
+ }
235
+ }, synchronous , action .getDelay (), response .getDelay ());
242
236
}
243
237
244
238
void writeForwardActionResponse (final HttpForwardActionResult responseFuture , final ResponseWriter responseWriter , final HttpRequest request , final Action action , boolean synchronous ) {
@@ -248,7 +242,7 @@ public void run() {
248
242
HttpResponse response = responseFuture .getHttpResponse ().get ();
249
243
responseWriter .writeResponse (request , response , false );
250
244
httpStateHandler .log (new RequestResponseLogEntry (request , response ));
251
- mockServerLogger .info (FORWARDED_REQUEST , request , "returning response:{}for forwarded request\n \n in json:{}\n \n in curl:{}" , response , responseFuture .getHttpRequest (), httpRequestToCurlSerializer .toCurl (responseFuture .getHttpRequest ()));
245
+ mockServerLogger .info (FORWARDED_REQUEST , request , "returning response:{}for forwarded request\n \n in json:{}\n \n in curl:{}for action:{} " , response , responseFuture .getHttpRequest (), httpRequestToCurlSerializer .toCurl (responseFuture .getHttpRequest ()), action );
252
246
} catch (Exception ex ) {
253
247
mockServerLogger .error (request , ex , ex .getMessage ());
254
248
}
0 commit comments