Send user direct to check page, if self-hosted

This commit is contained in:
Alicia Sykes 2024-05-06 23:29:30 +01:00
parent d9135883de
commit 42d6e0394f
3 changed files with 59 additions and 51 deletions

View File

@ -31,6 +31,9 @@ const site = unwrapEnvVar('SITE_URL', 'https://web-check.xyz');
// The base URL of the site (if serving from a subdirectory)
const base = unwrapEnvVar('BASE_URL', '/');
// Should run the app in boss-mode (requires extra configuration)
const isBossServer = unwrapEnvVar('BOSS_SERVER', false);
// Initialize Astro integrations
const integrations = [react(), partytown(), sitemap()];
@ -62,17 +65,13 @@ console.log(
`to help fund maintenance & development.\x1b[0m\n`,
);
const buildOptions = {
output: 'dist',
format: 'esm',
};
const redirects = {};
const redirects = {
'/': '/test',
// '/results/[...target]': '/check/[...target]', // The old path was /results (redirect to maintain compatibility)
// Skip the marketing homepage for self-hosted users
if (isBossServer && isBossServer === 'true') {
redirects['/'] = '/check';
}
// Export Astro configuration
export default defineConfig({ output, base, integrations, site, adapter, redirects, buildOptions });
export default defineConfig({ output, base, integrations, site, adapter, redirects });

View File

@ -1,5 +1,6 @@
{
"name": "web-check",
"type": "module",
"version": "0.0.1",
"homepage": ".",
"scripts": {

View File

@ -79,8 +79,8 @@ fs.readdirSync(dirPath, { withFileTypes: true })
});
});
// Create a single API endpoint to execute all lambda functions
app.get('/api', async (req, res) => {
// Create a single API endpoint to execute all lambda functions
app.get('/api', async (req, res) => {
const results = {};
const { url } = req.query;
const maxExecutionTime = process.env.API_TIMEOUT_LIMIT || 20000;
@ -125,7 +125,15 @@ fs.readdirSync(dirPath, { withFileTypes: true })
await Promise.all(handlerPromises);
res.json(results);
});
});
// Skip the marketing homepage, for self-hosted users
app.use((req, res, next) => {
if (req.path === '/' && process.env.BOSS_SERVER !== 'true') {
req.url = '/check';
}
next();
});
// Serve up the GUI - if build dir exists, and GUI feature enabled
if (process.env.DISABLE_GUI && process.env.DISABLE_GUI !== 'false') {