import { Request, Response, URL, Fastly, Headers } from '@fastly/as-compute'
const backend = 'your-backend'
const text = "importScripts('https://static.edgeme.sh/edgemesh-sw.js')"
function fetch (request: Request): Response {
const url = new URL(request.url)
if (request.method === 'GET' && url.pathname === '/sw.js') {
const headers = new Headers()
headers.set('Content-Type', 'application/javascript')
return new Response(String.UTF8.encode(text), {
const cacheOverride = new Fastly.CacheOverride()
// Set your default cache settings here
// cacheOverride.setSWR(60 * 60 * 24)
return Fastly.fetch(request, { backend, cacheOverride }).wait()
Fastly.respondWith(fetch(Fastly.getClientRequest()))typ