From c117d572d638158bf875cacc1e8f8a415afdb40a Mon Sep 17 00:00:00 2001 From: Tobias Schulte Date: Mon, 30 Apr 2018 15:37:41 +0200 Subject: [PATCH] download control files using gzip content encoding Closes #95 --- src/main/java/com/threerings/getdown/data/Application.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/threerings/getdown/data/Application.java b/src/main/java/com/threerings/getdown/data/Application.java index f759ef0..ad50738 100644 --- a/src/main/java/com/threerings/getdown/data/Application.java +++ b/src/main/java/com/threerings/getdown/data/Application.java @@ -23,6 +23,7 @@ import java.util.*; import java.util.concurrent.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.zip.GZIPInputStream; import javax.swing.JApplet; @@ -1653,7 +1654,12 @@ public class Application // about it; turning off caches is not a performance concern, because when Getdown asks // to download a file, it expects it to come over the wire, not from a cache uconn.setUseCaches(false); + uconn.setRequestProperty("Accept-Encoding", "gzip"); fin = uconn.getInputStream(); + String encoding = uconn.getContentEncoding(); + if ("gzip".equalsIgnoreCase(encoding)) { + fin = new GZIPInputStream(fin); + } fout = new FileOutputStream(target); StreamUtil.copy(fin, fout); } finally {