diff --git a/src/main/java/net/fabricmc/loom/util/DownloadUtil.java b/src/main/java/net/fabricmc/loom/util/DownloadUtil.java index 6eaaea7a..71bf8e7d 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; @@ -109,7 +111,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) { to.delete(); // Probably isn't good if it fails to copy/save throw e;