2021-08-17 22:00:46 +02:00
|
|
|
const fs = require('fs');
|
|
|
|
|
|
|
|
let PROXY_CONFIG;
|
|
|
|
let configContent;
|
|
|
|
|
|
|
|
const CONFIG_FILE_NAME = 'mempool-frontend-config.json';
|
|
|
|
|
|
|
|
try {
|
|
|
|
const rawConfig = fs.readFileSync(CONFIG_FILE_NAME);
|
|
|
|
configContent = JSON.parse(rawConfig);
|
|
|
|
console.log(`${CONFIG_FILE_NAME} file found, using provided config`);
|
|
|
|
} catch (e) {
|
|
|
|
console.log(e);
|
|
|
|
if (e.code !== 'ENOENT') {
|
|
|
|
throw new Error(e);
|
|
|
|
} else {
|
|
|
|
console.log(`${CONFIG_FILE_NAME} file not found, using default config`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
PROXY_CONFIG = [
|
|
|
|
{
|
2022-02-07 00:10:35 +01:00
|
|
|
context: ['*',
|
|
|
|
'/api/**', '!/api/v1/ws',
|
2021-08-17 22:00:46 +02:00
|
|
|
'!/bisq', '!/bisq/**', '!/bisq/',
|
|
|
|
'!/liquid', '!/liquid/**', '!/liquid/',
|
2021-12-27 19:54:45 +01:00
|
|
|
'!/liquidtestnet', '!/liquidtestnet/**', '!/liquidtestnet/',
|
2021-08-17 22:00:46 +02:00
|
|
|
'/testnet/api/**', '/signet/api/**'
|
|
|
|
],
|
|
|
|
target: "https://mempool.space",
|
|
|
|
ws: true,
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
context: ['/api/v1/ws'],
|
|
|
|
target: "https://mempool.space",
|
|
|
|
ws: true,
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
context: ['/api/bisq**', '/bisq/api/**'],
|
|
|
|
target: "https://bisq.markets",
|
|
|
|
pathRewrite: {
|
|
|
|
"^/api/bisq/": "/bisq/api"
|
|
|
|
},
|
|
|
|
ws: true,
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
context: ['/api/liquid**', '/liquid/api/**'],
|
|
|
|
target: "https://liquid.network",
|
|
|
|
pathRewrite: {
|
|
|
|
"^/api/liquid/": "/liquid/api"
|
|
|
|
},
|
|
|
|
ws: true,
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true
|
2021-12-27 19:54:45 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
context: ['/api/liquidtestnet**', '/liquidtestnet/api/**'],
|
2022-01-20 20:27:50 +01:00
|
|
|
target: "https://liquid.network",
|
2021-12-27 19:54:45 +01:00
|
|
|
ws: true,
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true
|
2022-02-07 00:10:35 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
context: ['/resources/mining-pools/**'],
|
|
|
|
target: "https://mempool.space",
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true
|
|
|
|
}
|
2021-08-17 22:00:46 +02:00
|
|
|
];
|
|
|
|
|
2021-10-22 20:54:28 +02:00
|
|
|
if (configContent && configContent.BASE_MODULE == "liquid") {
|
|
|
|
PROXY_CONFIG.push({
|
2022-01-20 20:27:50 +01:00
|
|
|
context: ['/resources/pools.json',
|
|
|
|
'/resources/assets.json', '/resources/assets.minimal.json',
|
|
|
|
'/resources/assets-testnet.json', '/resources/assets-testnet.minimal.json'],
|
2021-10-22 20:54:28 +02:00
|
|
|
target: "https://liquid.network",
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true,
|
|
|
|
});
|
|
|
|
} else {
|
2021-10-28 05:32:42 +02:00
|
|
|
PROXY_CONFIG.push({
|
2021-10-22 20:54:28 +02:00
|
|
|
context: ['/resources/pools.json', '/resources/assets.json', '/resources/assets.minimal.json'],
|
|
|
|
target: "https://mempool.space",
|
|
|
|
secure: false,
|
|
|
|
changeOrigin: true,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2021-08-17 22:00:46 +02:00
|
|
|
module.exports = PROXY_CONFIG;
|