summaryrefslogtreecommitdiffstats
path: root/catalog-ui/webpack.server.js
blob: 06ac28d5cb70227a08f6949d7d4e74c7a59223b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
let path = require('path');

const mockApis = require('./configurations/mock.json').sdcConfig;
const proxy = require('http-proxy-middleware');
const devPort = 9000;
const fePort = 8181;
const loclahost = "192.168.33.10"; // "localhost"

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://' + loclahost + ':' + fePort,
			changeOrigin: true,
			secure: false
		}));

	// Redirect all '/sdc1/rest' to feHost
    middlewares.push(
        proxy(['/sdc1/rest'],{
            target: 'http://' + loclahost + ':' + fePort,
            changeOrigin: true,
            secure: false
        }));

	// 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 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(; )?/, '');
	}
}
}));

	server.use(middlewares);
}
};

	return ServerConfig;
}