feat: Temporarily disable, because I am poor.

This commit is contained in:
Alicia Sykes
2024-12-17 20:16:36 +00:00
parent 7ca22daa9a
commit da0204c156
5 changed files with 62 additions and 1 deletions

View File

@ -8,6 +8,9 @@ const TIMEOUT = process.env.API_TIMEOUT_LIMIT ? parseInt(process.env.API_TIMEOUT
// If present, set CORS allowed origins for responses
const ALLOWED_ORIGINS = process.env.API_CORS_ORIGIN || '*';
// Disable everything :( Setting this env var will turn off the instance, and show message
const DISABLE_EVERYTHING = !!process.env.VITE_DISABLE_EVERYTHING;
// Set the platform currently being used
let PLATFORM = 'NETLIFY';
if (process.env.PLATFORM) { PLATFORM = process.env.PLATFORM.toUpperCase(); }
@ -21,7 +24,6 @@ const headers = {
'Content-Type': 'application/json;charset=UTF-8',
};
const timeoutErrorMsg = 'You can re-trigger this request, by clicking "Retry"\n'
+ 'If you\'re running your own instance of Web Check, then you can '
+ 'resolve this issue, by increasing the timeout limit in the '
@ -31,6 +33,14 @@ const timeoutErrorMsg = 'You can re-trigger this request, by clicking "Retry"\n'
+ 'in order to keep running costs affordable, so that Web Check can '
+ 'remain freely available for everyone.';
const disabledErrorMsg = 'Error - WebCheck Temporarily Disabled.\n\n'
+ 'We\'re sorry, but due to the increased cost of running Web Check '
+ 'we\'ve had to temporatily disable the public instand. '
+ 'We\'re activley looking for affordable ways to keep Web Check running, '
+ 'while free to use for everybody.\n'
+ 'In the meantime, since we\'ve made our code free and open source, '
+ 'you can get Web Check running on your own system, by following the instructions in our GitHub repo';
// A middleware function used by all API routes on all platforms
const commonMiddleware = (handler) => {
@ -45,6 +55,11 @@ const commonMiddleware = (handler) => {
// Vercel
const vercelHandler = async (request, response) => {
if (DISABLE_EVERYTHING) {
response.status(503).json({ error: disabledErrorMsg });
}
const queryParams = request.query || {};
const rawUrl = queryParams.url;
@ -83,6 +98,15 @@ const commonMiddleware = (handler) => {
const queryParams = event.queryStringParameters || event.query || {};
const rawUrl = queryParams.url;
if (DISABLE_EVERYTHING) {
callback(null, {
statusCode: 503,
body: JSON.stringify({ error: 'Web-Check is temporarily disabled. Please try again later.' }),
headers,
});
return;
}
if (!rawUrl) {
callback(null, {
statusCode: 500,