X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=catalog-ui%2Fwebpack.server.js;h=a3db60f63680e8f408108c992e0bebd993a38d88;hb=e3f4b966a2105841a40450ca13f9e6937868107d;hp=1993617197cf6363c9e33cf4a1f85a2b53fe64bc;hpb=16a9fce0e104a38371a9e5a567ec611ae3fc7f33;p=sdc.git diff --git a/catalog-ui/webpack.server.js b/catalog-ui/webpack.server.js index 1993617197..a3db60f636 100644 --- a/catalog-ui/webpack.server.js +++ b/catalog-ui/webpack.server.js @@ -1,91 +1,122 @@ -let path = require('path'); - const mockApis = require('./configurations/mock.json').sdcConfig; const proxy = require('http-proxy-middleware'); const devPort = 9000; -const fePort = 8287; -const loclahost = "localhost"; // "localhost" -const portalCookieValue = "randomValue"; //for dev solely, in production - the webseal would add the cookie byitself. -module.exports = function(env) { +const fePort = 8181; +const feHost = "localhost"; +const protocol="http"; +const isDirectToFE = true; - // Set default role - if (!env) { - env = { - role: "designer" - }; - } - console.log("Starting dev server with role: " + env.role); +const portalCookieValue = "randomValue"; //for dev solely, in production - the webseal would add the cookie by itself. - const ServerConfig = { - port: devPort, - historyApiFallback: true, - inline: true, - stats: { - colors: true, - exclude: ['node_modules'] - }, - setup: server => { - let userType = mockApis.userTypes[env.role]; +module.exports = function (env) { - let middlewares = [ - (req, res, next) => { - res.cookie(mockApis.cookie.userIdSuffix, req.headers[mockApis.cookie.userIdSuffix] || userType.userId); - res.cookie(mockApis.cookie.userEmail, req.headers[mockApis.cookie.userEmail] || userType.email); - res.cookie(mockApis.cookie.userFirstName, req.headers[mockApis.cookie.userFirstName] || userType.firstName); - res.cookie(mockApis.cookie.userLastName, req.headers[mockApis.cookie.userLastName] || userType.lastName); - res.cookie(mockApis.cookie.portalCookie, portalCookieValue); - next(); -} -]; + // Set default user role + if (!env) { + env = { + role: "designer" + }; + } + console.log("Starting dev server with role: " + env.role); - // Redirect all '/sdc1/feProxy/rest' to feHost - middlewares.push( - proxy(['/sdc1/feProxy/rest', '/sdc1/feProxy/uicache'],{ - target: 'http://' + loclahost + ':' + fePort, - changeOrigin: true, - secure: false - })); + const serverConfig = { + port: devPort, + historyApiFallback: true, + inline: true, + stats: { + colors: true, + exclude: ['node_modules'] + }, + setup: server => { + let userType = mockApis.userTypes[env.role]; - // Redirect all '/sdc1/rest' to feHost - middlewares.push( - proxy(['/sdc1/rest'],{ - target: 'http://' + loclahost + ':' + fePort, - changeOrigin: true, - secure: false - })); + let middlewares = [ + (req, res, next) => { + res.cookie(mockApis.cookie.userIdSuffix, req.headers[mockApis.cookie.userIdSuffix] || userType.userId); + res.cookie(mockApis.cookie.userEmail, req.headers[mockApis.cookie.userEmail] || userType.email); + res.cookie(mockApis.cookie.userFirstName, req.headers[mockApis.cookie.userFirstName] || userType.firstName); + res.cookie(mockApis.cookie.userLastName, req.headers[mockApis.cookie.userLastName] || userType.lastName); + res.cookie(mockApis.cookie.portalCookie, portalCookieValue); + next(); + } + ]; - // Redirect dcae urls to feHost - middlewares.push( - proxy(['/dcae','/sdc1/feProxy/dcae-api'],{ - target: 'http://' + loclahost + ':' + fePort, - changeOrigin: true, - secure: false, - onProxyRes: (proxyRes, req, res) => { - let setCookie = proxyRes.headers['set-cookie']; - if (setCookie) { - setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, ''); - } -} -})); + // 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' : '/sdc2/rest' + } + } + middlewares.push( + proxy(['/sdc1/feProxy/rest'], feProxyOptions)); - // Redirect onboarding urls to feHost - middlewares.push( - proxy(['/onboarding','/sdc1/feProxy/onboarding-api'],{ - target: 'http://' + loclahost + ':' + fePort, - changeOrigin: true, - secure: false, - onProxyRes: (proxyRes, req, res) => { - let setCookie = proxyRes.headers['set-cookie']; - if (setCookie) { - setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, ''); - } -} -})); + // Redirect all '/sdc1/feProxy/uicache' to feHost + middlewares.push( + proxy(['/sdc1/feProxy/uicache'], { + target: protocol + '://' + feHost + ':' + fePort, + changeOrigin: true, + secure: false + })); - server.use(middlewares); -} -}; + // Redirect all '/sdc1/rest' to feHost + middlewares.push( + 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: protocol + '://' + feHost + ':' + fePort, + changeOrigin: true, + secure: false, + onProxyRes: (proxyRes, req, res) => { + let setCookie = proxyRes.headers['set-cookie']; + if (setCookie) { + setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, ''); + } + } + })); - return ServerConfig; -} + // Redirect onboarding urls to feHost + middlewares.push( + proxy(['/onboarding', '/sdc1/feProxy/onboarding-api'], { + target: protocol + '://' + feHost + ':' + fePort, + changeOrigin: true, + secure: false, + onProxyRes: (proxyRes, req, res) => { + let setCookie = proxyRes.headers['set-cookie']; + if (setCookie) { + setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, ''); + } + } + })); + + // Redirect workflow urls to feHost + middlewares.push( + proxy(['/wf', '/sdc1/feProxy/wf'], { + target: protocol + '://' + feHost + ':' + fePort, + changeOrigin: true, + logLevel: 'debug', + secure: false, + onProxyRes: (proxyRes, req, res) => { + let setCookie = proxyRes.headers['set-cookie']; + if (setCookie) { + setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, ''); + } + } + })); + server.use(middlewares); + } + }; + + return serverConfig; +};