View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2009 eviware.com 
3    *
4    *  soapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of version 2.1 of the GNU Lesser General Public License as published by 
6    *  the Free Software Foundation.
7    *
8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  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.transports.http.support.methods;
14  
15  import java.io.IOException;
16  
17  import org.apache.commons.httpclient.HttpConnection;
18  import org.apache.commons.httpclient.HttpException;
19  import org.apache.commons.httpclient.HttpState;
20  import org.apache.commons.httpclient.methods.DeleteMethod;
21  import org.apache.commons.httpclient.methods.RequestEntity;
22  
23  import com.eviware.soapui.impl.rest.RestRequestInterface;
24  import com.eviware.soapui.impl.wsdl.submit.transports.http.ExtendedHttpMethod;
25  import com.eviware.soapui.impl.wsdl.submit.transports.http.HttpMethodSupport;
26  import com.eviware.soapui.impl.wsdl.submit.transports.http.SSLInfo;
27  
28  /***
29   * Extended PostMethod that supports limiting of response size and detailed
30   * timestamps
31   * 
32   * @author Ole.Matzura
33   */
34  
35  public final class ExtendedDeleteMethod extends DeleteMethod implements ExtendedHttpMethod
36  {
37  	private HttpMethodSupport httpMethodSupport;
38  
39  	public ExtendedDeleteMethod()
40  	{
41  		httpMethodSupport = new HttpMethodSupport( this );
42  	}
43  
44  	public String getDumpFile()
45  	{
46  		return httpMethodSupport.getDumpFile();
47  	}
48  
49  	public void setDumpFile( String dumpFile )
50  	{
51  		httpMethodSupport.setDumpFile( dumpFile );
52  	}
53  
54  	protected void readResponse( HttpState arg0, HttpConnection arg1 ) throws IOException, HttpException
55  	{
56  		super.readResponse( arg0, arg1 );
57  		httpMethodSupport.afterReadResponse( arg0, arg1 );
58  	}
59  
60  	@Override
61  	public String getResponseCharSet()
62  	{
63  		return httpMethodSupport.getResponseCharset();
64  	}
65  
66  	public long getMaxSize()
67  	{
68  		return httpMethodSupport.getMaxSize();
69  	}
70  
71  	public void setMaxSize( long maxSize )
72  	{
73  		httpMethodSupport.setMaxSize( maxSize );
74  	}
75  
76  	public long getResponseReadTime()
77  	{
78  		return httpMethodSupport.getResponseReadTime();
79  	}
80  
81  	public boolean hasResponse()
82  	{
83  		return httpMethodSupport.hasResponse();
84  	}
85  
86  	protected void writeRequest( HttpState arg0, HttpConnection arg1 ) throws IOException, HttpException
87  	{
88  		super.writeRequest( arg0, arg1 );
89  		httpMethodSupport.afterWriteRequest( arg0, arg1 );
90  	}
91  
92  	public void initStartTime()
93  	{
94  		httpMethodSupport.initStartTime();
95  	}
96  
97  	public long getTimeTaken()
98  	{
99  		return httpMethodSupport.getTimeTaken();
100 	}
101 
102 	public long getStartTime()
103 	{
104 		return httpMethodSupport.getStartTime();
105 	}
106 
107 	public byte[] getResponseBody() throws IOException
108 	{
109 		return httpMethodSupport.getResponseBody();
110 	}
111 
112 	public SSLInfo getSSLInfo()
113 	{
114 		return httpMethodSupport.getSSLInfo();
115 	}
116 
117 	public String getResponseContentType()
118 	{
119 		return httpMethodSupport.getResponseContentType();
120 	}
121 
122 	public RequestEntity getRequestEntity()
123 	{
124 		// TODO Auto-generated method stub
125 		return null;
126 	}
127 
128 	public RestRequestInterface.RequestMethod getMethod()
129 	{
130 		return RestRequestInterface.RequestMethod.DELETE;
131 	}
132 
133 	public Throwable getFailureCause()
134 	{
135 		return httpMethodSupport.getFailureCause();
136 	}
137 
138 	public boolean isFailed()
139 	{
140 		return httpMethodSupport.isFailed();
141 	}
142 
143 	public void setFailed( Throwable t )
144 	{
145 		httpMethodSupport.setFailed( t );
146 	}
147 }