Files
WorkerTemplate/index.js
2025-09-09 04:56:26 -07:00

23 lines
833 B
JavaScript

// A simple, secure proxy for the Cloudflare API
export default {
async fetch(request) {
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Headers': 'Authorization, Content-Type',
};
if (request.method === 'OPTIONS') {
return new Response(null, { headers: corsHeaders });
}
const url = new URL(request.url);
const apiUrl = `https://api.cloudflare.com${url.pathname}${url.search}`;
const newRequest = new Request(apiUrl, request);
const response = await fetch(newRequest);
const newResponse = new Response(response.body, response);
Object.entries(corsHeaders).forEach(([key, value]) => {
newResponse.headers.set(key, value);
});
return newResponse;
},
};