From 171220cb337ad731d3e79f0db9e45381b615fbb2 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Sat, 5 Jan 2013 06:58:39 +0000 Subject: [PATCH] PR 54374: support status code 307 redirects in git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1429209 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 3 +++ src/main/org/apache/tools/ant/taskdefs/Get.java | 6 +++++- src/tests/antunit/taskdefs/get-test.xml | 13 +++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/WHATSNEW b/WHATSNEW index 791cce684..5ace6c07f 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -56,6 +56,9 @@ Fixed bugs: was empty. Bugzilla Report 53626. + * now supports HTTP redirects using status code 307. + Bugzilla Report 54374. + Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/taskdefs/Get.java b/src/main/org/apache/tools/ant/taskdefs/Get.java index dcd7cfb2b..76de5fe52 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Get.java +++ b/src/main/org/apache/tools/ant/taskdefs/Get.java @@ -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 diff --git a/src/tests/antunit/taskdefs/get-test.xml b/src/tests/antunit/taskdefs/get-test.xml index 905a8eedc..e1f021b56 100644 --- a/src/tests/antunit/taskdefs/get-test.xml +++ b/src/tests/antunit/taskdefs/get-test.xml @@ -64,6 +64,19 @@ + + + + + + + + + + + + +