You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2013/01/05 07:58:40 UTC
svn commit: r1429209 - in /ant/core/trunk: WHATSNEW
src/main/org/apache/tools/ant/taskdefs/Get.java
src/tests/antunit/taskdefs/get-test.xml
Author: bodewig
Date: Sat Jan 5 06:58:39 2013
New Revision: 1429209
URL: http://svn.apache.org/viewvc?rev=1429209&view=rev
Log:
PR 54374: support status code 307 redirects in <get>
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java
ant/core/trunk/src/tests/antunit/taskdefs/get-test.xml
Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=1429209&r1=1429208&r2=1429209&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Sat Jan 5 06:58:39 2013
@@ -56,6 +56,9 @@ Fixed bugs:
was empty.
Bugzilla Report 53626.
+ * <get> now supports HTTP redirects using status code 307.
+ Bugzilla Report 54374.
+
Other changes:
--------------
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java?rev=1429209&r1=1429208&r2=1429209&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java Sat Jan 5 06:58:39 2013
@@ -58,6 +58,9 @@ public class Get extends Task {
private static final int BIG_BUFFER_SIZE = 100 * 1024;
private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
private static final int REDIRECT_LIMIT = 25;
+ // HttpURLConnection doesn't have a constant for this in Java5 and
+ // what it calls HTTP_MOVED_TEMP would better be FOUND
+ private static final int HTTP_MOVED_TEMP = 307;
private static final String HTTP = "http";
private static final String HTTPS = "https";
@@ -666,7 +669,8 @@ public class Get extends Task {
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_MOVED_PERM ||
responseCode == HttpURLConnection.HTTP_MOVED_TEMP ||
- responseCode == HttpURLConnection.HTTP_SEE_OTHER)
+ responseCode == HttpURLConnection.HTTP_SEE_OTHER ||
+ responseCode == HTTP_MOVED_TEMP)
{
String newLocation = httpConnection.getHeaderField("Location");
String message = aSource
Modified: ant/core/trunk/src/tests/antunit/taskdefs/get-test.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/get-test.xml?rev=1429209&r1=1429208&r2=1429209&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/get-test.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/get-test.xml Sat Jan 5 06:58:39 2013
@@ -64,6 +64,19 @@
<au:assertLogContains text="temp.txt moved to http" />
</target>
+ <target name="testStatusCode307Redirect">
+ <get src="${location}/307.txt" dest="${output}/307.txt"/>
+ <au:assertTrue>
+ <resourcecount count="1">
+ <restrict>
+ <file file="${output}/307.txt" />
+ <contains text="307 status code redirect succeeded" />
+ </restrict>
+ </resourcecount>
+ </au:assertTrue>
+ <au:assertLogContains text="307.txt moved to http" />
+ </target>
+
<target name="test5LevelsOfRedirect">
<get src="${location}/redir5.txt" dest="${output}/redir5.tmp"/>
<au:assertTrue>