Browse Source

add gzip content-encoding support to <get>, submitted by Maarten Coene. PR 49453

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1577711 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 11 years ago
parent
commit
1030536db2
1 changed files with 8 additions and 0 deletions
  1. +8
    -0
      src/main/org/apache/tools/ant/taskdefs/Get.java

+ 8
- 0
src/main/org/apache/tools/ant/taskdefs/Get.java View File

@@ -29,6 +29,7 @@ import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import java.util.zip.GZIPInputStream;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.MagicNames;
@@ -68,6 +69,7 @@ public class Get extends Task {
private static final String HTTPS = "https";

private static final String DEFAULT_AGENT_PREFIX = "Apache Ant";
private static final String GZIP_CONTENT_ENCODING = "gzip";

private Resources sources = new Resources();
private File destination; // required
@@ -679,6 +681,8 @@ public class Get extends Task {
+ encoding);
}

connection.setRequestProperty("Accept-Encoding", GZIP_CONTENT_ENCODING);

if (connection instanceof HttpURLConnection) {
((HttpURLConnection) connection)
.setInstanceFollowRedirects(false);
@@ -767,6 +771,10 @@ public class Get extends Task {
getLocation());
}

if (GZIP_CONTENT_ENCODING.equals(connection.getContentEncoding())) {
is = new GZIPInputStream(is);
}

os = new FileOutputStream(dest);
progress.beginDownload();
boolean finished = false;


Loading…
Cancel
Save