From c8b42221aa4e9c2e02dd37999cdeb6236252478e Mon Sep 17 00:00:00 2001 From: huangxd- <649924757@qq.com> Date: Sat, 21 Mar 2026 00:41:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E9=80=80edgeone=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B9=B6=E4=BF=AE=E5=A4=8Dedgeone=20405?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20(#251)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Revert "修复 EdgeOne token 路由 match 405 (#248)" This reverts commit e29c9848bc854c8fe672bb0c12c1b678af872ecd. * 修复edgeone 405问题 --- edgeone.json | 14 ++++++++++++-- node-functions/[[...path]]..js | 8 ++++++++ node-functions/[token]/api/[[default]].js | 3 --- node-functions/api-handler.js | 16 ---------------- node-functions/api/[[default]].js | 3 --- 5 files changed, 20 insertions(+), 24 deletions(-) create mode 100644 node-functions/[[...path]]..js delete mode 100644 node-functions/[token]/api/[[default]].js delete mode 100644 node-functions/api-handler.js delete mode 100644 node-functions/api/[[default]].js diff --git a/edgeone.json b/edgeone.json index 1f8be0f..da4a5d2 100644 --- a/edgeone.json +++ b/edgeone.json @@ -1,4 +1,14 @@ { "name": "danmu-api", - "outputDirectory": "./" -} + "outputDirectory": "./", + "rewrites": [ + { + "source": "/", + "destination": "/node-functions/index.js" + }, + { + "source": "/*", + "destination": "/node-functions/[[...path]].js" + } + ] +} \ No newline at end of file diff --git a/node-functions/[[...path]]..js b/node-functions/[[...path]]..js new file mode 100644 index 0000000..f688f3e --- /dev/null +++ b/node-functions/[[...path]]..js @@ -0,0 +1,8 @@ +import { onRequest } from './index.js'; // 改为 onRequest,支持所有方法 + +export const onRequestGet = onRequest; +export const onRequestPost = onRequest; +export const onRequestPut = onRequest; +export const onRequestPatch = onRequest; +export const onRequestDelete = onRequest; +export { onRequest }; // 复用 index.js 的 onRequest \ No newline at end of file diff --git a/node-functions/[token]/api/[[default]].js b/node-functions/[token]/api/[[default]].js deleted file mode 100644 index fae86e1..0000000 --- a/node-functions/[token]/api/[[default]].js +++ /dev/null @@ -1,3 +0,0 @@ -import { onApiRequest } from '../../api-handler.js'; - -export const onRequest = onApiRequest; diff --git a/node-functions/api-handler.js b/node-functions/api-handler.js deleted file mode 100644 index e0206f5..0000000 --- a/node-functions/api-handler.js +++ /dev/null @@ -1,16 +0,0 @@ -import { handleRequest } from '../danmu_api/worker.js'; - -function getClientIp(request) { - const eoIp = request.headers?.get?.('eo-connecting-ip'); - if (eoIp) return eoIp; - - const forwardedFor = request.headers?.get?.('x-forwarded-for'); - if (forwardedFor) return forwardedFor.split(',')[0].trim(); - - return 'unknown'; -} - -export async function onApiRequest(context) { - const { request, env } = context; - return handleRequest(request, env, 'edgeone', getClientIp(request)); -} diff --git a/node-functions/api/[[default]].js b/node-functions/api/[[default]].js deleted file mode 100644 index 54ca0e1..0000000 --- a/node-functions/api/[[default]].js +++ /dev/null @@ -1,3 +0,0 @@ -import { onApiRequest } from '../api-handler.js'; - -export const onRequest = onApiRequest;