| 1234567891011121314151617181920212223242526272829303132333435363738 |
- export default {
- async fetch(request, env) {
- const url = new URL(request.url);
- // API 代理
- if (url.pathname.startsWith('/admin-api')) {
- const targetUrl = `https://apidev.ifoodme.com${url.pathname}${url.search}`;
- const headers = new Headers(request.headers);
- headers.delete('host');
- const response = await fetch(targetUrl, {
- method: request.method,
- headers: headers,
- body: request.method !== 'GET' && request.method !== 'HEAD' ? request.body : undefined,
- redirect: 'follow',
- });
- const responseHeaders = new Headers(response.headers);
- responseHeaders.set('Access-Control-Allow-Origin', '*');
- responseHeaders.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
- responseHeaders.set('Access-Control-Allow-Headers', 'Content-Type, Authorization, tenant-id');
- if (request.method === 'OPTIONS') {
- return new Response(null, { status: 204, headers: responseHeaders });
- }
- return new Response(response.body, {
- status: response.status,
- statusText: response.statusText,
- headers: responseHeaders,
- });
- }
- // 静态资源请求 - 使用 env.ASSETS
- return env.ASSETS.fetch(request);
- },
- };
|