From 52582bee0733e96cdc0d2b4e14248a71fc3e5132 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A0=9A=E7=84=B6?= <yanran.wwj@alipay.com>
Date: Fri, 29 Dec 2017 18:42:11 +0800
Subject: [PATCH 1/2] update dependency to brotli

---
 lib/requestHandler.js | 15 +++++++--------
 package.json          |  2 +-
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/lib/requestHandler.js b/lib/requestHandler.js
index bba6b7f..83f6bb7 100644
--- a/lib/requestHandler.js
+++ b/lib/requestHandler.js
@@ -12,7 +12,7 @@ const http = require('http'),
   logUtil = require('./log'),
   co = require('co'),
   HttpsServerMgr = require('./httpsServerMgr'),
-  brotliTorb = require('iltorb'),
+  brotliTorb = require('brotli'),
   Readable = require('stream').Readable;
 
 const requestErrorHandler = require('./requestErrorHandler');
@@ -138,13 +138,12 @@ function fetchRemoteResponse(protocol, options, reqData, config) {
             } else if (isBrotlied && originContentLen) {
               refactContentEncoding();
 
-              brotliTorb.decompress(serverResData, (err, buff) => {
-                if (err) {
-                  rejectParsing(err);
-                } else {
-                  fulfill(buff);
-                }
-              });
+              try {
+                const result = brotliTorb.decompress(serverResData);
+                fulfill(new Buffer(result));
+              } catch (e) {
+                rejectParsing(e);
+              }
             } else {
               fulfill(serverResData);
             }
diff --git a/package.json b/package.json
index 37bdea5..7c65c47 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
     "async": "~0.9.0",
     "async-task-mgr": ">=1.1.0",
     "body-parser": "^1.13.1",
+    "brotli": "^1.3.2",
     "classnames": "^2.2.5",
     "clipboard-js": "^0.3.3",
     "co": "^4.6.0",
@@ -21,7 +22,6 @@
     "es6-promise": "^3.3.1",
     "express": "^4.8.5",
     "iconv-lite": "^0.4.6",
-    "iltorb": "^2.0.3",
     "inquirer": "^3.0.1",
     "ip": "^0.3.2",
     "juicer": "^0.6.6-stable",

From ecb9a71eb146011b4291b2f112c2181990bfecd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A0=9A=E7=84=B6?= <yanran.wwj@alipay.com>
Date: Sat, 30 Dec 2017 13:34:38 +0800
Subject: [PATCH 2/2] add comment and replace the deprecated `new Buffer()`
 with `Buffer.from()`

---
 lib/requestHandler.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/requestHandler.js b/lib/requestHandler.js
index 83f6bb7..1ed7e97 100644
--- a/lib/requestHandler.js
+++ b/lib/requestHandler.js
@@ -139,8 +139,9 @@ function fetchRemoteResponse(protocol, options, reqData, config) {
               refactContentEncoding();
 
               try {
+                // an Unit8Array returned by decompression
                 const result = brotliTorb.decompress(serverResData);
-                fulfill(new Buffer(result));
+                fulfill(Buffer.from(result));
               } catch (e) {
                 rejectParsing(e);
               }