Fixed UI webpack settings
[sdc.git] / catalog-ui / webpack.server.js
1 let path = require('path');
2
3 const mockApis = require('./configurations/mock.json').sdcConfig;
4 const proxy = require('http-proxy-middleware');
5 const devPort = 9000;
6 const fePort = 8181;
7 const loclahost = "192.168.33.10"; // "localhost"
8
9 module.exports = function(env) {
10
11         // Set default role
12         if (!env) {
13                 env = {
14                         role: "designer"
15                 };
16         }
17         console.log("Starting dev server with role: " + env.role);
18
19         const ServerConfig = {
20                 port: devPort,
21                 historyApiFallback: true,
22                 inline: true,
23                 stats: {
24                         colors: true,
25                         exclude: ['node_modules']
26                 },
27                 setup: server => {
28                 let userType = mockApis.userTypes[env.role];
29
30         let middlewares = [
31                 (req, res, next) => {
32                 res.cookie(mockApis.cookie.userIdSuffix, req.headers[mockApis.cookie.userIdSuffix] || userType.userId);
33         res.cookie(mockApis.cookie.userEmail, req.headers[mockApis.cookie.userEmail] || userType.email);
34         res.cookie(mockApis.cookie.userFirstName, req.headers[mockApis.cookie.userFirstName] || userType.firstName);
35         res.cookie(mockApis.cookie.userLastName, req.headers[mockApis.cookie.userLastName] || userType.lastName);
36         next();
37 }
38 ];
39
40         // Redirect all '/sdc1/feProxy/rest' to feHost
41         middlewares.push(
42                 proxy(['/sdc1/feProxy/rest'],{
43                     target: 'http://' + loclahost + ':' + fePort,
44                         changeOrigin: true,
45                         secure: false
46                 }));
47
48         // Redirect all '/sdc1/rest' to feHost
49     middlewares.push(
50         proxy(['/sdc1/rest'],{
51             target: 'http://' + loclahost + ':' + fePort,
52             changeOrigin: true,
53             secure: false
54         }));
55
56         // Redirect dcae urls to feHost
57         middlewares.push(
58                 proxy(['/dcae','/sdc1/feProxy/dcae-api'],{
59                     target: 'http://' + loclahost + ':' + fePort,
60                         changeOrigin: true,
61                         secure: false,
62                         onProxyRes: (proxyRes, req, res) => {
63                         let setCookie = proxyRes.headers['set-cookie'];
64         if (setCookie) {
65                 setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, '');
66         }
67 }
68 }));
69
70         // Redirect onboarding urls to feHost
71         middlewares.push(
72                 proxy(['/onboarding','/sdc1/feProxy/onboarding-api'],{
73                     target: 'http://' + loclahost + ':' + fePort,
74                         changeOrigin: true,
75                         secure: false,
76                         onProxyRes: (proxyRes, req, res) => {
77                         let setCookie = proxyRes.headers['set-cookie'];
78         if (setCookie) {
79                 setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, '');
80         }
81 }
82 }));
83
84         server.use(middlewares);
85 }
86 };
87
88         return ServerConfig;
89 }