thingsboard-aplcache

Details

diff --git a/msa/web-ui/package.json b/msa/web-ui/package.json
index f30f2fc..929d2e8 100644
--- a/msa/web-ui/package.json
+++ b/msa/web-ui/package.json
@@ -12,6 +12,7 @@
     "start-prod": "NODE_ENV=production nodemon server.js"
   },
   "dependencies": {
+    "compression": "^1.7.3",
     "config": "^1.30.0",
     "connect-history-api-fallback": "^1.5.0",
     "express": "^4.16.3",
diff --git a/msa/web-ui/package-lock.json b/msa/web-ui/package-lock.json
index d657ade..7669595 100644
--- a/msa/web-ui/package-lock.json
+++ b/msa/web-ui/package-lock.json
@@ -570,6 +570,28 @@
       "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
       "dev": true
     },
+    "compressible": {
+      "version": "2.0.15",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz",
+      "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==",
+      "requires": {
+        "mime-db": ">= 1.36.0 < 2"
+      }
+    },
+    "compression": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
+      "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
+      "requires": {
+        "accepts": "~1.3.5",
+        "bytes": "3.0.0",
+        "compressible": "~2.0.14",
+        "debug": "2.6.9",
+        "on-headers": "~1.0.1",
+        "safe-buffer": "5.1.2",
+        "vary": "~1.1.2"
+      }
+    },
     "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -2790,6 +2812,11 @@
         "ee-first": "1.1.1"
       }
     },
+    "on-headers": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+      "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
+    },
     "once": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
diff --git a/msa/web-ui/server.js b/msa/web-ui/server.js
index 31d35a2..d4122e2 100644
--- a/msa/web-ui/server.js
+++ b/msa/web-ui/server.js
@@ -17,6 +17,7 @@
 const config = require('config'),
       logger = require('./config/logger')('main'),
       express = require('express'),
+      compression = require('compression'),
       http = require('http'),
       httpProxy = require('http-proxy'),
       path = require('path'),
@@ -54,8 +55,9 @@ var server;
         const app = express();
         server = http.createServer(app);
 
+        var apiProxy;
         if (useApiProxy) {
-            const apiProxy = httpProxy.createProxyServer({
+            apiProxy = httpProxy.createProxyServer({
                 target: {
                     host: thingsboardHost,
                     port: thingsboardPort
@@ -85,6 +87,7 @@ var server;
         }
 
         app.use(historyApiFallback());
+        app.use(compression());
 
         const root = path.join(webDir, 'public');