1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| export default { async fetch(request, env) { if (request.method === 'OPTIONS') { return new Response(null, { status: 200, headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': '*' } }); } else { return handleRequest(request, env); } } };
async function handleRequest(request, env) { const url = new URL(request.url); const backendUrl = 'https://run-lb.tanmasports.com/v1' + url.pathname + url.search;
const newHeaders = new Headers(request.headers); newHeaders.delete('Host');
const init = { method: request.method, headers: newHeaders, body: request.method === 'GET' ? null : await request.clone().text() };
const response = await fetch(backendUrl, init);
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', '*');
const body = await response.text();
return new Response(body, { status: response.status, headers: responseHeaders }); }
|