Responder com outro site
Responda a uma requisição com conteúdo buscado de outro site, repassando a resposta upstream enquanto o navegador mantém a URL original.
Responda a uma requisição recebida com conteúdo buscado de outro site. Use esse padrão para uma substituição temporária ou para servir a resposta de outro site sem emitir um redirecionamento HTTP que altere a URL no navegador.
Como funciona
A função escuta o evento fetch com addEventListener. Em vez de construir um Response local, ela chama fetch() para requisitar um recurso de outro site e passa a promise resultante diretamente para event.respondWith(), que aceita tanto uma promise quanto um Response. A função aguarda a resposta upstream e a repassa ao cliente como resposta à requisição original.
A substituição acontece dentro da função, então a barra de endereços do visitante mantém a URL original. O fetch() de saída conta para o limite de sub-requisições da invocação, e o status e os headers do site upstream são os que o cliente recebe.
A resposta repassada pode ser guardada em vez de buscada de novo na próxima requisição. A Cache API a escreve com cache.put(request, fetchResponse.clone()), e entregar essa chamada a ctx.waitUntil() mantém a escrita fora do caminho da resposta.