Untitled
unknown
plain_text
2 years ago
1.2 kB
8
Indexable
addEventListener('fetch', event => { event.respondWith(purgeCache(event.request)) }) async function purgeCache(request) { const url = new URL(request.url) // If the path doesn't begin with our protected prefix, just pass the request through. if (!url.pathname.startsWith("/__purge_cache")) { return fetch(request) } // Lets validate the zone id, and return an error if invalid let zoneIdValidated = (new RegExp("^([a-z0-9]{32})$")).test(url.searchParams.get('zone')); if (!zoneIdValidated) { return new Response('Invalid Zone ID', { status: 500 }); } let content = '{"purge_everything":true}' let headers = { 'Content-Type': 'application/json', 'X-Auth-Email': 'CF_EMAL', // Cloudflare API Auth Email 'X-Auth-Key': 'HERE_CF_API_KEY' //Cloudflare API Auth Key } const init = { method: 'POST', headers: headers, body: content } const response = await fetch('https://api.cloudflare.com/client/v4/zones/'+url.searchParams.get('zone')+'/purge_cache', init) return response }
Editor is loading...