mirror of
https://github.com/mempool/mempool.git
synced 2024-12-27 08:44:26 +01:00
96 lines
2.5 KiB
JavaScript
96 lines
2.5 KiB
JavaScript
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 = [
|
|
{
|
|
context: ['*',
|
|
'/api/**', '!/api/v1/ws',
|
|
'!/bisq', '!/bisq/**', '!/bisq/',
|
|
'!/liquid', '!/liquid/**', '!/liquid/',
|
|
'!/liquidtestnet', '!/liquidtestnet/**', '!/liquidtestnet/',
|
|
'/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
|
|
},
|
|
{
|
|
context: ['/api/liquidtestnet**', '/liquidtestnet/api/**'],
|
|
target: "https://liquid.network",
|
|
ws: true,
|
|
secure: false,
|
|
changeOrigin: true
|
|
},
|
|
{
|
|
context: ['/resources/mining-pools/**'],
|
|
target: "https://mempool.space",
|
|
secure: false,
|
|
changeOrigin: true
|
|
}
|
|
];
|
|
|
|
if (configContent && configContent.BASE_MODULE == "liquid") {
|
|
PROXY_CONFIG.push({
|
|
context: ['/resources/pools.json',
|
|
'/resources/assets.json', '/resources/assets.minimal.json',
|
|
'/resources/assets-testnet.json', '/resources/assets-testnet.minimal.json'],
|
|
target: "https://liquid.network",
|
|
secure: false,
|
|
changeOrigin: true,
|
|
});
|
|
} else {
|
|
PROXY_CONFIG.push({
|
|
context: ['/resources/pools.json', '/resources/assets.json', '/resources/assets.minimal.json'],
|
|
target: "https://mempool.space",
|
|
secure: false,
|
|
changeOrigin: true,
|
|
});
|
|
}
|
|
|
|
module.exports = PROXY_CONFIG;
|