1 23 package org.archive.httpclient; 24 25 import java.io.IOException ; 26 27 import org.apache.commons.httpclient.HttpConnection; 28 import org.apache.commons.httpclient.HttpException; 29 import org.apache.commons.httpclient.HttpState; 30 import org.apache.commons.httpclient.methods.PostMethod; 31 import org.archive.util.HttpRecorder; 32 33 34 44 public class HttpRecorderPostMethod extends PostMethod { 45 48 protected HttpRecorderMethod httpRecorderMethod = null; 49 50 51 public HttpRecorderPostMethod(String uri, HttpRecorder recorder) { 52 super(uri); 53 this.httpRecorderMethod = new HttpRecorderMethod(recorder); 54 } 55 56 protected void readResponseBody(HttpState state, HttpConnection connection) 57 throws IOException , HttpException { 58 this.httpRecorderMethod.markContentBegin(connection); 60 super.readResponseBody(state, connection); 61 } 62 63 protected boolean shouldCloseConnection(HttpConnection conn) { 64 return true; 68 } 69 70 public int execute(HttpState state, HttpConnection conn) 71 throws HttpException, IOException { 72 this.httpRecorderMethod.setConnection(conn); 78 return super.execute(state, conn); 79 } 80 81 protected void addProxyConnectionHeader(HttpState state, HttpConnection conn) 82 throws IOException , HttpException { 83 super.addProxyConnectionHeader(state, conn); 84 this.httpRecorderMethod.handleAddProxyConnectionHeader(this); 85 } 86 } 87 | Popular Tags |