1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.submit.filters;
14
15 import org.apache.commons.httpclient.HttpVersion;
16 import org.apache.commons.httpclient.methods.EntityEnclosingMethod;
17 import org.apache.commons.httpclient.methods.RequestEntity;
18
19 import com.eviware.soapui.impl.support.AbstractHttpRequest;
20 import com.eviware.soapui.impl.wsdl.submit.transports.http.BaseHttpRequestTransport;
21 import com.eviware.soapui.impl.wsdl.submit.transports.http.ExtendedHttpMethod;
22 import com.eviware.soapui.model.iface.SubmitContext;
23 import com.eviware.soapui.model.settings.Settings;
24 import com.eviware.soapui.settings.HttpSettings;
25
26 public class PostPackagingRequestFilter extends AbstractRequestFilter
27 {
28
29 @Override
30 public void filterAbstractHttpRequest( SubmitContext context, AbstractHttpRequest<?> request )
31 {
32 ExtendedHttpMethod httpMethod = ( ExtendedHttpMethod )context.getProperty( BaseHttpRequestTransport.HTTP_METHOD );
33 Settings settings = request.getSettings();
34
35
36 if( httpMethod.getParams().getVersion().equals( HttpVersion.HTTP_1_1 )
37 && httpMethod instanceof EntityEnclosingMethod )
38 {
39 EntityEnclosingMethod entityEnclosingMethod = ( ( EntityEnclosingMethod )httpMethod );
40 long limit = settings.getLong( HttpSettings.CHUNKING_THRESHOLD, -1 );
41 RequestEntity requestEntity = entityEnclosingMethod.getRequestEntity();
42 entityEnclosingMethod.setContentChunked( limit >= 0 && requestEntity != null ? requestEntity
43 .getContentLength() > limit : false );
44 }
45 }
46
47 }