bugfix for operations screen
[sdc.git] / catalog-ui / webpack.server.js
index b367577..0d43fa1 100644 (file)
@@ -1,8 +1,20 @@
 const mockApis = require('./configurations/mock.json').sdcConfig;
 const proxy = require('http-proxy-middleware');
 const devPort = 9000;
+
 const fePort = 8181;
 const feHost = "localhost";
+const protocol="http";
+const isDirectToFE = false;
+
+/*
+For kubernetes
+const fePort = 30207;
+const wfPort = 30256;
+const feHost = "kubernetes_master";
+const protocol="https";
+const isDirectToFE = true;// whether to proxy to the k8s proxy or to the BE
+*/
 const portalCookieValue = "randomValue"; //for dev solely, in production - the webseal would add the cookie by itself.
 
 module.exports = function (env) {
@@ -38,25 +50,36 @@ module.exports = function (env) {
             ];
 
             // Redirect all '/sdc1/feProxy/rest' to feHost
+            let feProxyOptions = {
+                target: protocol + '://' + feHost + ':' + fePort,
+                changeOrigin: true,
+                secure: false,
+                logLevel: 'debug'
+            }    
+            if (isDirectToFE) {
+                feProxyOptions.pathRewrite= {
+                    '^/sdc1/feProxy/rest' : '/sdc1/feProxy/rest'
+                }
+            } else {
+                feProxyOptions.pathRewrite= {
+                    '^/sdc1/feProxy/rest' : '/sdc2/rest'
+                }
+            }    
             middlewares.push(
-                proxy(['/sdc1/feProxy/rest', '/sdc1/feProxy/uicache'], {
-                    target: 'http://' + feHost + ':' + fePort,
-                    changeOrigin: true,
-                    secure: false
-                }));
+                proxy(['/sdc1/feProxy/rest'], feProxyOptions));
 
             // Redirect all '/sdc1/rest' to feHost
             middlewares.push(
-                proxy(['/sdc1/rest'], {
-                    target: 'http://' + feHost + ':' + fePort,
+                proxy(['/sdc1/rest'],{
+                    target: protocol + '://' + feHost + ':' + fePort,
                     changeOrigin: true,
                     secure: false
                 }));
 
             // Redirect dcae urls to feHost
             middlewares.push(
-                proxy(['/dcae', '/sdc1/feProxy/dcae-api'], {
-                    target: 'http://' + feHost + ':' + fePort,
+                proxy(['/dcae','/sdc1/feProxy/dcae-api'], {
+                    target: protocol + '://' + feHost + ':' + fePort,
                     changeOrigin: true,
                     secure: false,
                     onProxyRes: (proxyRes, req, res) => {
@@ -70,7 +93,7 @@ module.exports = function (env) {
             // Redirect onboarding urls to feHost
             middlewares.push(
                 proxy(['/onboarding', '/sdc1/feProxy/onboarding-api'], {
-                    target: 'http://' + feHost + ':' + fePort,
+                    target: protocol + '://' + feHost + ':' + fePort,
                     changeOrigin: true,
                     secure: false,
                     onProxyRes: (proxyRes, req, res) => {
@@ -81,6 +104,23 @@ module.exports = function (env) {
                     }
                 }));
 
+            // Redirect workflow urls to feHost
+            middlewares.push(
+                proxy(['/sdc1/feProxy/wf', '/wf'], {
+                    target: protocol + '://' + feHost + ':' + wfPort,
+                    changeOrigin: true,
+                    logLevel: 'debug',
+                    secure: false,
+                    pathRewrite: {
+                        '^/sdc1/feProxy' : ''
+                    },
+                    onProxyRes: (proxyRes, req, res) => {
+                        let setCookie = proxyRes.headers['set-cookie'];
+                        if (setCookie) {
+                            setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, '');
+                        }
+                    }
+                }));
             server.use(middlewares);
         }
     };