示例代码:
async function handleRequest(event) { const url = new URL(event.request.url) const requestPath = url.pathname const originUrl = new URL('https://example.com') const headers = new Headers(event.request.headers)
const workerFetch = fetch(new Request(originUrl.origin + requestPath, { headers: headers, method: event.request.method }))
const response = await workerFetch
if (!response.ok) { return new Response(response.statusText, {status: response.status}) }
const serverResponse = new Response(response.body, response)
// Set response headers const serverHeaders = await gatherHeaders(response) const corsHeaders = { 'Access-Control-Allow-Origin': '*', 'Vary': 'Origin' }
return new Response(serverResponse.body, { headers: {...serverHeaders, ...corsHeaders}, status: serverResponse.status, statusText: serverResponse.statusText }) }