aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java')
-rw-r--r--src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java b/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java
index 712043da..a9b77ab4 100644
--- a/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java
+++ b/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java
@@ -27,9 +27,11 @@ package net.fabricmc.loom.util;
import java.io.File;
import java.io.FileNotFoundException;
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 javax.annotation.Nullable;
@@ -106,7 +108,13 @@ public class HashedDownloadUtil {
}
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;