删除functions, 因为不支持ws

This commit is contained in:
wood chen 2025-01-06 18:31:53 +08:00
parent f7e2b35f52
commit 54da9ad052

View File

@ -1,64 +0,0 @@
// 处理所有 HTTP 方法
export const onRequest = async (context) => {
const { request, env } = context;
// 确保环境变量存在
if (!env.API_BASEURL) {
return new Response('API_BASEURL environment variable is not set', { status: 500 });
}
try {
// 构建目标URL
const url = new URL(request.url);
const apiBaseUrl = env.API_BASEURL.endsWith('/') ? env.API_BASEURL.slice(0, -1) : env.API_BASEURL;
const targetURL = apiBaseUrl + url.pathname + url.search;
// 处理 WebSocket 升级请求
if (request.headers.get('Upgrade') === 'websocket') {
const wsURL = targetURL.replace(/^http/, 'ws');
return fetch(wsURL, request);
}
// 创建新的请求
const newRequest = new Request(targetURL, {
method: request.method,
headers: request.headers,
body: request.body,
redirect: 'follow',
});
// 发送请求到目标服务器
const response = await fetch(newRequest);
// 创建新的响应
const newResponse = new Response(response.body, response);
// 设置 CORS 头
newResponse.headers.set('Access-Control-Allow-Origin', '*');
newResponse.headers.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
newResponse.headers.set('Access-Control-Allow-Headers', '*');
return newResponse;
} catch (error) {
return new Response(`Proxy error: ${error.message}`, {
status: 500,
headers: {
'Access-Control-Allow-Origin': '*'
}
});
}
}
// 处理 OPTIONS 请求
export const onRequestOptions = async (context) => {
return new Response(null, {
status: 204,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Headers': '*',
'Access-Control-Max-Age': '86400',
},
});
}