X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fbasic%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2FPostPageRequest.java;h=4a6a073c490eaa6d209ca924a3c5744a8defc678;hb=5685a836b9208ff8babfe5ac5b30c5f86d27cf96;hp=2257652204c2d706b1e17de2507dec95451496e6;hpb=a5a9deb2dedb2efc96972acedaa44909a3b0fd79;p=utils diff --git a/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java b/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java index 22576522..4a6a073c 100644 --- a/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java +++ b/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java @@ -16,7 +16,7 @@ package org.wamblee.crawler; -import java.io.PrintStream; +import java.io.IOException; import javax.xml.transform.TransformerException; @@ -24,19 +24,26 @@ import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import org.w3c.dom.Document; +import org.wamblee.xml.XslTransformer; /** * Retrieving pages using the post method. */ public class PostPageRequest extends AbstractPageRequest { - public PostPageRequest(int aMaxTries, int aMaxDelay, NameValuePair[] aParams, String aXslt) { - super(aMaxTries, aMaxDelay, aParams, aXslt, null); - } - - public PostPageRequest(int aMaxTries, int aMaxDelay, NameValuePair[] aParams, String aXslt, - PrintStream aOs) { - super(aMaxTries, aMaxDelay, aParams, aXslt, aOs); + /** + * Constructs the request. + * @param aMaxTries Maximum number of retries. + * @param aMaxDelay Maximum delay before executing the request. + * @param aParams Request parameters to use. + * @param aHeaders Request headers to use. + * @param aXslt XSLT to use. + */ + public PostPageRequest(int aMaxTries, int aMaxDelay, + NameValuePair[] aParams, + NameValuePair[] aHeaders, + String aXslt, XslTransformer aTransformer) { + super(aMaxTries, aMaxDelay, aParams, aHeaders, aXslt, aTransformer); } /* @@ -45,14 +52,16 @@ public class PostPageRequest extends AbstractPageRequest { * @see org.wamblee.crawler.PageRequest#execute(java.lang.String, * org.apache.commons.httpclient.HttpClient) */ - public Document execute(String aUrl, HttpClient aClient) + public Document execute(String aUrl, NameValuePair[] aParams, HttpClient aClient) throws PageException { PostMethod method = new PostMethod(aUrl); - method.addParameters(getParameters()); + method.addParameters(getParameters(aParams)); try { return executeMethod(aClient, method); } catch (TransformerException e) { - throw new PageException(e.getMessage(), e); + throw new PageException("Transformation problem for url " + aUrl, e); + } catch (IOException e) { + throw new PageException("Problem getting page " + aUrl, e); } }