From e8377615f5cb01d098bd665b65cac6624886ba6d Mon Sep 17 00:00:00 2001 From: fred-ye Date: Tue, 17 Apr 2018 11:12:28 +0800 Subject: [PATCH] +[Android] add gzip encoding for loading js bundle --- .../com/taobao/weex/adapter/DefaultWXHttpAdapter.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultWXHttpAdapter.java b/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultWXHttpAdapter.java index 6e96756e06..11679194b2 100644 --- a/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultWXHttpAdapter.java +++ b/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultWXHttpAdapter.java @@ -38,6 +38,7 @@ import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.zip.GZIPInputStream; public class DefaultWXHttpAdapter implements IWXHttpAdapter { @@ -74,7 +75,13 @@ public void run() { response.statusCode = String.valueOf(responseCode); if (responseCode >= 200 && responseCode<=299) { - InputStream rawStream = connection.getInputStream(); + String encoding = connection.getContentEncoding(); + InputStream rawStream; + if (encoding != null && encoding.contains("gzip")) { + rawStream = new GZIPInputStream(connection.getInputStream()); + } else { + rawStream = connection.getInputStream(); + } rawStream = reporter.interpretResponseStream(rawStream); response.originalData = readInputStreamAsBytes(rawStream, listener); } else { @@ -117,6 +124,7 @@ private HttpURLConnection openConnection(WXRequest request, OnHttpListener liste HttpURLConnection connection = createConnection(url); connection.setConnectTimeout(request.timeoutMs); connection.setReadTimeout(request.timeoutMs); + connection.setRequestProperty("Accept-Encoding", "gzip"); connection.setUseCaches(false); connection.setDoInput(true);