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",