1 /* 2 * $HeadURL: https://svn.apache.org/repos/asf/httpcomponents/oac.hc3x/trunk/src/test/org/apache/commons/httpclient/ExecuteMethodThread.java $ 3 * $Revision$ 4 * $Date$ 5 * 6 * ==================================================================== 7 * 8 * Licensed to the Apache Software Foundation (ASF) under one or more 9 * contributor license agreements. See the NOTICE file distributed with 10 * this work for additional information regarding copyright ownership. 11 * The ASF licenses this file to You under the Apache License, Version 2.0 12 * (the "License"); you may not use this file except in compliance with 13 * the License. You may obtain a copy of the License at 14 * 15 * http://www.apache.org/licenses/LICENSE-2.0 16 * 17 * Unless required by applicable law or agreed to in writing, software 18 * distributed under the License is distributed on an "AS IS" BASIS, 19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 * See the License for the specific language governing permissions and 21 * limitations under the License. 22 * ==================================================================== 23 * 24 * This software consists of voluntary contributions made by many 25 * individuals on behalf of the Apache Software Foundation. For more 26 * information on the Apache Software Foundation, please see 27 * <http://www.apache.org/>. 28 * 29 * [Additional notices, if required by prior licensing conditions] 30 * 31 */ 32 33 package org.apache.commons.httpclient; 34 35 /*** 36 * Executes a method from a new thread. 37 * 38 * @author Michael Becke 39 */ 40 class ExecuteMethodThread extends Thread { 41 42 private HttpMethod method; 43 private HttpClient client; 44 45 private Exception exception; 46 47 public ExecuteMethodThread(HttpMethod method, HttpClient client) { 48 this.method = method; 49 this.client = client; 50 } 51 52 public void run() { 53 try { 54 client.executeMethod(method); 55 method.getResponseBodyAsString(); 56 } catch (Exception e) { 57 this.exception = e; 58 } finally { 59 method.releaseConnection(); 60 } 61 } 62 63 /*** 64 * @return HttpMethod 65 */ 66 public HttpMethod getMethod() { 67 return method; 68 } 69 70 /*** 71 * Gets the exception that occurred when executing the method. 72 * 73 * @return an Exception or <code>null</code> if no exception occurred 74 */ 75 public Exception getException() { 76 return exception; 77 } 78 79 }