X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fbasic%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2FPostPageRequest.java;h=598afe05115a6231cc4557a74e7cfa5cd02a4d48;hb=b1ef4f7c49ee5fc854e536e57fc3aafba92ce51b;hp=10ad783a76be7f3b8353818d4343094e0f885c1a;hpb=30671b398473b876e5c42d063f0c8e169ad3163c;p=utils diff --git a/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java b/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java index 10ad783a..598afe05 100644 --- a/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java +++ b/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java @@ -12,38 +12,53 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ package org.wamblee.crawler; -import java.io.PrintStream; +import java.io.IOException; + +import javax.xml.transform.TransformerException; 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(NameValuePair[] aParams, String aXslt) { - super(aParams, aXslt, null); - } - - public PostPageRequest(NameValuePair[] aParams, String aXslt, PrintStream aOs) { - super(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 aXslt XSLT to use. + */ + public PostPageRequest(int aMaxTries, int aMaxDelay, NameValuePair[] aParams, String aXslt, XslTransformer aTransformer) { + super(aMaxTries, aMaxDelay, aParams, aXslt, aTransformer); } - - - /* (non-Javadoc) - * @see org.wamblee.crawler.PageRequest#execute(java.lang.String, org.apache.commons.httpclient.HttpClient) + + /* + * (non-Javadoc) + * + * @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, HttpClient aClient) + throws PageException { PostMethod method = new PostMethod(aUrl); method.addParameters(getParameters()); - return executeMethod(aClient, method); + try { + return executeMethod(aClient, method); + } catch (TransformerException e) { + throw new PageException(e.getMessage(), e); + } catch (IOException e) { + throw new PageException(e.getMessage(), e); + } } }