diff options
author | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
commit | ed64b5edff15e702493df21aa3230b81593e6133 (patch) | |
tree | a4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/webpack.server.js | |
parent | 280f8015d06af1f41a3ef12e8300801c7a5e0d54 (diff) |
[SDC-29] catalog 1707 rebase commit.
Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1
Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-ui/webpack.server.js')
-rw-r--r-- | catalog-ui/webpack.server.js | 80 |
1 files changed, 80 insertions, 0 deletions
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 |