support for parameters on actions.
[utils] / crawler / basic / src / org / wamblee / crawler / PostPageRequest.java
index 598afe05115a6231cc4557a74e7cfa5cd02a4d48..4a6a073c490eaa6d209ca924a3c5744a8defc678 100644 (file)
@@ -36,10 +36,14 @@ public class PostPageRequest extends AbstractPageRequest {
      * @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, String aXslt, XslTransformer aTransformer) {
-        super(aMaxTries, aMaxDelay, aParams, aXslt, aTransformer);
+    public PostPageRequest(int aMaxTries, int aMaxDelay, 
+            NameValuePair[] aParams, 
+            NameValuePair[] aHeaders,
+            String aXslt, XslTransformer aTransformer) {
+        super(aMaxTries, aMaxDelay, aParams, aHeaders, aXslt, aTransformer);
     }
 
     /*
@@ -48,16 +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(e.getMessage(), e);
+            throw new PageException("Problem getting page " + aUrl, e);
         }
     }