X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fbasic%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2FPostPageRequest.java;h=af160f60cfa581b180a5d9b2cc576da897705218;hb=bc261b857facb7111e9d6ae68da1f5cc2400d21d;hp=10ad783a76be7f3b8353818d4343094e0f885c1a;hpb=81bc61121a8f17f754fc99eb66603a59df242ddc;p=utils diff --git a/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java b/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java index 10ad783a..af160f60 100644 --- a/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java +++ b/crawler/basic/src/org/wamblee/crawler/PostPageRequest.java @@ -12,38 +12,57 @@ * 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 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); } - - - /* (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("Transformation problem for url " + aUrl, e); + } catch (IOException e) { + throw new PageException("Problem getting page " + aUrl, e); + } } }