01: /*
02: * soapUI, copyright (C) 2004-2007 eviware.com
03: *
04: * soapUI is free software; you can redistribute it and/or modify it under the
05: * terms of version 2.1 of the GNU Lesser General Public License as published by
06: * the Free Software Foundation.
07: *
08: * soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
09: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10: * See the GNU Lesser General Public License for more details at gnu.org.
11: */
12:
13: package com.eviware.soapui.impl.wsdl.submit.filters;
14:
15: import com.eviware.soapui.impl.wsdl.WsdlRequest;
16: import com.eviware.soapui.impl.wsdl.submit.RequestFilter;
17: import com.eviware.soapui.impl.wsdl.submit.transports.http.BaseHttpRequestTransport;
18: import com.eviware.soapui.impl.wsdl.submit.transports.http.TimeablePostMethod;
19: import com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport;
20: import com.eviware.soapui.model.iface.SubmitContext;
21: import com.eviware.soapui.model.settings.Settings;
22: import com.eviware.soapui.settings.HttpSettings;
23:
24: /**
25: * RequestFilter that applies SoapUI HTTP-settings to the current request
26: *
27: * @author Ole.Matzura
28: */
29:
30: public class HttpSettingsRequestFilter implements RequestFilter {
31: public void filterRequest(SubmitContext context,
32: WsdlRequest wsdlRequest) {
33: TimeablePostMethod postMethod = (TimeablePostMethod) context
34: .getProperty(BaseHttpRequestTransport.POST_METHOD);
35:
36: // set maxsize
37: Settings settings = wsdlRequest.getSettings();
38:
39: // close connections?
40: if (settings.getBoolean(HttpSettings.CLOSE_CONNECTIONS))
41: postMethod.setRequestHeader("Connection", "close");
42:
43: // max size..
44: postMethod.setMaxSize(settings.getLong(
45: HttpSettings.MAX_RESPONSE_SIZE, 0));
46:
47: // apply global settings
48: HttpClientSupport.applyHttpSettings(postMethod, settings);
49: }
50: }
|