From 9ccdd7d6f931be9e59cd1238810a63957100d1b7 Mon Sep 17 00:00:00 2001 From: Taranto Date: Wed, 22 Jan 2020 12:09:43 +0000 Subject: [PATCH] feat: add compression to l-s --- lib/routes.js | 2 + package-lock.json | 129 ++++++++++++++++++++++++++++++++++++++++++---- package.json | 4 ++ 3 files changed, 126 insertions(+), 9 deletions(-) diff --git a/lib/routes.js b/lib/routes.js index 9564eb15..dc954b0b 100644 --- a/lib/routes.js +++ b/lib/routes.js @@ -1,5 +1,6 @@ 'use strict' +const compression = require('compression') const morgan = require('morgan') const helmet = require('helmet') const bodyParser = require('body-parser') @@ -365,6 +366,7 @@ const configRequiredRoutes = [ const app = express() const localApp = express() +app.use(compression({ threshold: 500 })) app.use(helmet({ noCache: true })) app.use(bodyParser.json({ limit: '2mb' })) app.use(morgan('dev', { skip, stream: logger.stream })) diff --git a/package-lock.json b/package-lock.json index 045cfb51..af19c2a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,7 @@ "@ava/babel-preset-stage-4": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz", - "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", + "integrity": "sha1-rmC+iBoLq/fTX1Krp3DR9hlPdr0=", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "^6.8.0", @@ -3525,6 +3525,92 @@ "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + } + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + } + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -4070,7 +4156,7 @@ }, "dotenv": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", + "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=" }, "drbg.js": { @@ -5282,6 +5368,14 @@ } } }, + "express-bandwidth": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/express-bandwidth/-/express-bandwidth-0.0.1.tgz", + "integrity": "sha1-kO32A65WCofzNaOmumfpDIZE240=", + "requires": { + "debug": "^2.2.0" + } + }, "express-limiter": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/express-limiter/-/express-limiter-1.6.0.tgz", @@ -5295,6 +5389,14 @@ "defaults": "^1.0.3" } }, + "express-transform": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/express-transform/-/express-transform-1.0.1.tgz", + "integrity": "sha1-RS85yBQLozDaHqKm3cWgtPWCmUc=", + "requires": { + "debug": "^2.2.0" + } + }, "express-ws": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/express-ws/-/express-ws-3.0.0.tgz", @@ -6230,7 +6332,7 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", "dev": true }, "globby": { @@ -6257,7 +6359,7 @@ "got": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "integrity": "sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo=", "requires": { "decompress-response": "^3.2.0", "duplexer3": "^0.1.4", @@ -7146,7 +7248,7 @@ "hullabaloo-config-manager": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz", - "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", + "integrity": "sha1-HZEXgTEprQNf2ehHfq8GaREmn+M=", "dev": true, "requires": { "dot-prop": "^4.1.0", @@ -7668,7 +7770,7 @@ "isurl": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "integrity": "sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc=", "requires": { "has-to-string-tag-x": "^1.2.0", "is-object": "^1.0.1" @@ -8586,7 +8688,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { "brace-expansion": "^1.1.7" } @@ -9163,7 +9265,7 @@ "p-cancelable": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + "integrity": "sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo=" }, "p-each-series": { "version": "1.0.0", @@ -12293,6 +12395,14 @@ "punycode": "^1.4.1" } }, + "transfer-rate": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/transfer-rate/-/transfer-rate-2.2.0.tgz", + "integrity": "sha512-WWIzi3tGB5WB+WriYDKKaKWDsUjCHko1UFPU6xjruGtb36l20aBVAPI4ZKcR1VUgvKlCNOhpfMBJZ2gWnlYu/w==", + "requires": { + "on-finished": "2.3.0" + } + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -12642,6 +12752,7 @@ "resolved": "https://registry.npmjs.org/web3/-/web3-0.20.6.tgz", "integrity": "sha1-PpcwauAk+yThCj11yIQwJWIhUSA=", "requires": { + "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", "crypto-js": "^3.1.4", "utf8": "^2.1.1", "xhr2": "*", @@ -12650,7 +12761,7 @@ "dependencies": { "bignumber.js": { "version": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", - "from": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934" + "from": "git+https://github.com/frozeman/bignumber.js-nolookahead.git" } } }, diff --git a/package.json b/package.json index 51133a1c..6aceffea 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "bitgo": "4.47.0", "body-parser": "^1.15.1", "coinbase": "^2.0.6", + "compression": "^1.7.4", "console-log-level": "^1.4.0", "cookie-parser": "^1.4.3", "cors": "^2.8.5", @@ -26,8 +27,10 @@ "ethereumjs-util": "^5.2.0", "ethereumjs-wallet": "^0.6.0", "express": "^4.15.4", + "express-bandwidth": "0.0.1", "express-limiter": "^1.6.0", "express-rate-limit": "^2.9.0", + "express-transform": "^1.0.1", "express-ws": "^3.0.0", "futoin-hkdf": "^1.0.2", "got": "^7.1.0", @@ -60,6 +63,7 @@ "socket.io": "^2.0.3", "socket.io-client": "^2.0.3", "talisman": "^0.20.0", + "transfer-rate": "^2.2.0", "twilio": "^3.6.1", "uuid": "^3.1.0", "web3": "^0.20.6",