aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/util/DownloadUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/fabricmc/loom/util/DownloadUtil.java')
-rw-r--r--src/main/java/net/fabricmc/loom/util/DownloadUtil.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/net/fabricmc/loom/util/DownloadUtil.java b/src/main/java/net/fabricmc/loom/util/DownloadUtil.java
index 1da65ae5..56ccf8d3 100644
--- a/src/main/java/net/fabricmc/loom/util/DownloadUtil.java
+++ b/src/main/java/net/fabricmc/loom/util/DownloadUtil.java
@@ -26,9 +26,11 @@ package net.fabricmc.loom.util;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
+import java.util.zip.GZIPInputStream;
import com.google.common.io.Files;
import org.apache.commons.io.FileUtils;
@@ -110,7 +112,13 @@ public class DownloadUtil {
}
try { // Try download to the output
- FileUtils.copyInputStreamToFile(connection.getInputStream(), to);
+ InputStream inputStream = connection.getInputStream();
+
+ if ("gzip".equals(connection.getContentEncoding())) {
+ inputStream = new GZIPInputStream(inputStream);
+ }
+
+ FileUtils.copyInputStreamToFile(inputStream, to);
} catch (IOException e) {
delete(to); // Probably isn't good if it fails to copy/save
throw e;