๐ฅ CLOUD-FLARE WORKER BACKEND โ FULL CODE
addEventListener(‘fetch’, event => {
event.respondWith(handleRequest(event.request))
})/**
* Handles form submission
*/
async function handleRequest(request) {
if(request.method === ‘POST’){
try {
const data = await request.json();// Capture basic info
const name = data.name || ‘Anonymous’;
const email = data.email || ‘NoEmail’;
const referrer = data.referrer || ‘DIRECT’;// Timestamp
const timestamp = new Date().toISOString();// Optional: save to KV storage (fast DB)
const key = `lead:${timestamp}:${Math.random().toString(36).substr(2,5)}`;
await LEADS_KV.put(key, JSON.stringify({name,email,referrer,timestamp}));// Optional: webhook to Google Sheets / Airtable
await fetch(‘YOUR_WEBHOOK_URL’, {
method: ‘POST’,
headers: {‘Content-Type’: ‘application/json’},
body: JSON.stringify({name,email,referrer,timestamp})
});return new Response(JSON.stringify({status:’success’}), {
headers: { ‘Content-Type’: ‘application/json’ }
});} catch(err){
return new Response(JSON.stringify({status:’error’,message:err.message}), {
headers: { ‘Content-Type’: ‘application/json’ }
});
}
}
return new Response(‘Use POST method for submissions’, {status:400});
}