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;