Skip to content

Commit 3367433

Browse files
committed
remove code
1 parent d94fe09 commit 3367433

File tree

2 files changed

+93
-121
lines changed

2 files changed

+93
-121
lines changed

custom-redirect.js

Lines changed: 90 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -42,136 +42,111 @@ function makeResponse(content, status) {
4242
}
4343

4444
/**
45-
* Handles all types of errors and generates appropriate responses
46-
* @param {Request} request - Incoming request
47-
* @param {Response|null} response - Server response if available
48-
* @param {Error|null} thrownError - Thrown error if present
49-
* @param {boolean} isMaintenance - Maintenance mode state
45+
* Handles site maintenance mode
46+
* @param {boolean} isMaintenance - Indicates if maintenance mode is active
5047
* @param {Object} env - Environment variables
51-
* @returns {Promise<Response|null>} Appropriate error response or null
48+
* @returns {Promise<Response|null>} Maintenance response or null
5249
*/
53-
async function handleError(request, response, thrownError, isMaintenance, env) {
54-
console.log("handleError called with:", {
55-
request,
56-
response,
57-
thrownError,
58-
isMaintenance,
59-
env
60-
});
61-
50+
async function handleMaintenanceMode(isMaintenance, env) {
6251
if (isMaintenance) {
63-
return makeResponse(
64-
REDIRECT.generateErrorPage(
65-
"503",
66-
env.TEXT_MAINTENANCE_TYPE,
67-
env.TEXT_MAINTENANCE_MESSAGE,
68-
env.TEXT_MAINTENANCE_GIF
69-
),
70-
STATUS.MAINTENANCE
71-
);
52+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_MAINTENANCE_TYPE, env.TEXT_MAINTENANCE_MESSAGE, env.TEXT_MAINTENANCE_GIF), STATUS.MAINTENANCE);
7253
}
54+
return null;
55+
}
7356

74-
if (thrownError) {
75-
const originUp = await HELPER.isOriginReachable().catch(() => null);
76-
if (originUp === false) {
77-
return makeResponse(
78-
REDIRECT.generateErrorPage(
79-
"503",
80-
env.TEXT_BOX_ERROR_TYPE,
81-
env.TEXT_BOX_ERROR_MESSAGE,
82-
env.TEXT_BOX_ERROR_GIF
83-
),
84-
STATUS.BOX_NO_IP
85-
);
86-
}
57+
/**
58+
* Handles tunnel and connection errors
59+
* @param {Object} env - Environment variables
60+
* @returns {Promise<Response>} Appropriate response based on error type
61+
*/
62+
async function handleTunnelError(env) {
63+
const originUp = await HELPER.isOriginReachable().catch(() => null);
64+
if (originUp === false) {
65+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_BOX_ERROR_TYPE, env.TEXT_BOX_ERROR_MESSAGE, env.TEXT_BOX_ERROR_GIF), STATUS.BOX_NO_IP);
66+
}
67+
68+
const npmUp = await HELPER.isNpmUp().catch(() => false);
69+
if (!npmUp) {
70+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_CONTAINER_ERROR_TYPE, env.TEXT_CONTAINER_ERROR_MESSAGE, env.TEXT_CONTAINER_ERROR_GIF), STATUS.CONTAINER);
71+
}
72+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_GENERIC_ERROR_TYPE, env.TEXT_GENERIC_ERRORR_MESSAGE, env.TEXT_GENERIC_ERROR_GIF), STATUS.SERVER);
73+
}
74+
75+
/**
76+
* Handles Cloudflare specific errors
77+
* @param {Response} response - Cloudflare error response
78+
* @param {Object} env - Environment variables
79+
* @returns {Promise<Response>} Appropriate response based on error type
80+
*/
81+
async function handleCloudflareError(response, env) {
82+
const cfCode = await HELPER.getCloudflareErrorCode(response);
83+
const originUp = await HELPER.isOriginReachable().catch(() => null);
84+
85+
if (originUp === false) {
86+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_BOX_ERROR_TYPE, env.TEXT_BOX_ERROR_MESSAGE, env.TEXT_BOX_ERROR_GIF), STATUS.BOX_NO_IP);
87+
}
8788

89+
if (cfCode === 1033 || [502, 521, 522, 524, 525, 526].includes(response.status)) {
8890
const npmUp = await HELPER.isNpmUp().catch(() => false);
8991
if (!npmUp) {
90-
return makeResponse(
91-
REDIRECT.generateErrorPage(
92-
"503",
93-
env.TEXT_CONTAINER_ERROR_TYPE,
94-
env.TEXT_CONTAINER_ERROR_MESSAGE,
95-
env.TEXT_CONTAINER_ERROR_GIF
96-
),
97-
STATUS.CONTAINER
98-
);
92+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_CONTAINER_ERROR_TYPE, env.TEXT_CONTAINER_ERROR_MESSAGE, env.TEXT_CONTAINER_ERROR_GIF), STATUS.CONTAINER);
9993
}
94+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_BOX_ERROR_TYPE, env.TEXT_BOX_ERROR_MESSAGE, env.TEXT_BOX_ERROR_GIF), STATUS.BOX);
95+
}
10096

101-
return makeResponse(
102-
REDIRECT.generateErrorPage(
103-
"503",
104-
env.TEXT_GENERIC_ERROR_TYPE,
105-
env.TEXT_GENERIC_ERRORR_MESSAGE,
106-
env.TEXT_GENERIC_ERROR_GIF
107-
),
108-
STATUS.SERVER
109-
);
97+
if (response.status === 523) {
98+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_BOX_ERROR_TYPE, env.TEXT_BOX_ERROR_MESSAGE, env.TEXT_BOX_ERROR_GIF), STATUS.BOX);
11099
}
111100

112-
if (response && response.status >= 500) {
113-
const cfCode = HELPER.isCloudflareError(response)
114-
? await HELPER.getCloudflareErrorCode(response)
115-
: null;
116-
117-
const originUp = await HELPER.isOriginReachable().catch(() => null);
118-
if (originUp === false) {
119-
return makeResponse(
120-
REDIRECT.generateErrorPage(
121-
"503",
122-
env.TEXT_BOX_ERROR_TYPE,
123-
env.TEXT_BOX_ERROR_MESSAGE,
124-
env.TEXT_BOX_ERROR_GIF
125-
),
126-
STATUS.BOX_NO_IP
127-
);
128-
}
101+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_GENERIC_ERROR_TYPE, env.TEXT_GENERIC_ERRORR_MESSAGE, env.TEXT_GENERIC_ERROR_GIF), STATUS.SERVER);
102+
}
129103

130-
if (cfCode === 1033 || [502, 521, 522, 524, 525, 526].includes(response.status)) {
131-
const npmUp = await HELPER.isNpmUp().catch(() => false);
132-
if (!npmUp) {
133-
return makeResponse(
134-
REDIRECT.generateErrorPage(
135-
"503",
136-
env.TEXT_CONTAINER_ERROR_TYPE,
137-
env.TEXT_CONTAINER_ERROR_MESSAGE,
138-
env.TEXT_CONTAINER_ERROR_GIF
139-
),
140-
STATUS.CONTAINER
141-
);
142-
}
143-
return makeResponse(
144-
REDIRECT.generateErrorPage(
145-
"503",
146-
env.TEXT_BOX_ERROR_TYPE,
147-
env.TEXT_BOX_ERROR_MESSAGE,
148-
env.TEXT_BOX_ERROR_GIF
149-
),
150-
STATUS.BOX
151-
);
152-
}
104+
/**
105+
* Handles errors from origin server
106+
* @param {Response} response - Origin server error response
107+
* @param {Object} env - Environment variables
108+
* @returns {Promise<Response>} Appropriate response based on error type
109+
*/
110+
async function handleOriginError(response, env) {
111+
const originUp = await HELPER.isOriginReachable().catch(() => null);
112+
if (originUp === false) {
113+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_BOX_ERROR_TYPE, env.TEXT_BOX_ERROR_MESSAGE, env.TEXT_BOX_ERROR_GIF), STATUS.BOX_NO_IP);
114+
}
153115

154-
if (response.status === 523) {
155-
return makeResponse(
156-
REDIRECT.generateErrorPage(
157-
"503",
158-
env.TEXT_BOX_ERROR_TYPE,
159-
env.TEXT_BOX_ERROR_MESSAGE,
160-
env.TEXT_BOX_ERROR_GIF
161-
),
162-
STATUS.BOX
163-
);
164-
}
116+
const npmUp = await HELPER.isNpmUp().catch(() => false);
117+
if (!npmUp) {
118+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_CONTAINER_ERROR_TYPE, env.TEXT_CONTAINER_ERROR_MESSAGE, env.TEXT_CONTAINER_ERROR_GIF), STATUS.CONTAINER);
119+
}
120+
121+
return makeResponse(REDIRECT.generateErrorPage("503", env.TEXT_GENERIC_ERROR_TYPE, env.TEXT_GENERIC_ERRORR_MESSAGE, env.TEXT_GENERIC_ERROR_GIF), STATUS.SERVER);
122+
}
123+
124+
/**
125+
* Main redirection and error handling function
126+
* @param {Request} request - Incoming request
127+
* @param {Response|null} response - Server response if available
128+
* @param {Error|null} thrownError - Thrown error if present
129+
* @param {boolean} isMaintenance - Maintenance mode state
130+
* @param {Object} env - Environment variables
131+
* @returns {Promise<Response|null>} Appropriate error response or null
132+
*/
133+
export async function c_redirect(request, response, thrownError = null, isMaintenance = false, env) {
134+
// Check maintenance mode
135+
const maintenanceResponse = await handleMaintenanceMode(isMaintenance, env);
136+
if (maintenanceResponse) return maintenanceResponse;
137+
138+
// Handle tunnel errors
139+
if (thrownError) {
140+
return handleTunnelError(env);
141+
}
165142

166-
return makeResponse(
167-
REDIRECT.generateErrorPage(
168-
"503",
169-
env.TEXT_GENERIC_ERROR_TYPE,
170-
env.TEXT_GENERIC_ERRORR_MESSAGE,
171-
env.TEXT_GENERIC_ERROR_GIF
172-
),
173-
STATUS.SERVER
174-
);
143+
// Handle 5xx errors
144+
if (response && response.status >= 500) {
145+
if (HELPER.isCloudflareError(response)) {
146+
return handleCloudflareError(response, env);
147+
} else {
148+
return handleOriginError(response, env);
149+
}
175150
}
176151

177152
return null;

worker.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { handleError } from './custom-redirect.js';
1+
import { c_redirect } from './custom-redirect.js'
22
import maintenanceHtml from './html/maintenance.js'
33
import { handleApi } from './handle-api.js'
44

@@ -62,19 +62,16 @@ export default {
6262
// Custom error/redirect handling
6363
let response;
6464
try {
65-
console.log("Fetching request:", request);
6665
response = await fetch(request);
67-
console.log("Fetch response:", response);
6866

6967
} catch (err) {
70-
console.error("Error during fetch:", err);
71-
const redirectResponse = await handleError(request, null, err, isMaintenance, env);
68+
const redirectResponse = await c_redirect(request, null, err, isMaintenance, env);
7269
if (redirectResponse) return redirectResponse;
7370
return new Response('Upstream unreachable', { status: 502 });
7471
}
7572

7673
// Custom error page
77-
const redirectResponse = await handleError(request, response, null, isMaintenance, env);
74+
const redirectResponse = await c_redirect(request, response, null, isMaintenance, env);
7875
if (redirectResponse) return redirectResponse;
7976

8077
// Banner injection - check for 4G mode or regular banner

0 commit comments

Comments
 (0)