From ed64b5edff15e702493df21aa3230b81593e6133 Mon Sep 17 00:00:00 2001 From: Michael Lando Date: Fri, 9 Jun 2017 03:19:04 +0300 Subject: [SDC-29] catalog 1707 rebase commit. Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1 Signed-off-by: Michael Lando --- catalog-ui/webpack.server.js | 80 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 catalog-ui/webpack.server.js (limited to 'catalog-ui/webpack.server.js') diff --git a/catalog-ui/webpack.server.js b/catalog-ui/webpack.server.js new file mode 100644 index 0000000000..b8c79a6197 --- /dev/null +++ b/catalog-ui/webpack.server.js @@ -0,0 +1,80 @@ +let path = require('path'); + +const mockApis = require('./configurations/mock.json').sdcConfig; +const proxy = require('http-proxy-middleware'); +const devPort = 9000; +const fePort = 8181; + +module.exports = function(env) { + + // Set default role + if (!env) { + env = { + role: "designer" + }; + } + console.log("Starting dev server with role: " + env.role); + + const ServerConfig = { + port: devPort, + historyApiFallback: true, + inline: true, + stats: { + colors: true, + exclude: ['node_modules'] + }, + setup: server => { + let userType = mockApis.userTypes[env.role]; + + 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); + next(); + } + ]; + + // Redirect all '/sdc1/feProxy/rest' to feHost + middlewares.push( + proxy(['/sdc1/feProxy/rest'],{ + target: 'http://localhost:' + fePort, + changeOrigin: true, + secure: false + })); + + // Redirect dcae urls to feHost + middlewares.push( + proxy(['/dcae','/sdc1/feProxy/dcae-api'],{ + target: 'http://localhost:' + 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 onboarding urls to feHost + middlewares.push( + proxy(['/onboarding','/sdc1/feProxy/onboarding-api'],{ + target: 'http://localhost:' + fePort, + changeOrigin: true, + 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; +} \ No newline at end of file -- cgit 1.2.3-korg