chromium/third_party/blink/web_tests/http/tests/inspector-protocol/service-worker/resources/repeat-fetch-service-worker.js

self.addEventListener('fetch', fetchEvent => {
  console.log('service worker making fetch for url: ' + fetchEvent.request.url);

  const responsePromise = fetch(fetchEvent.request);

  if (fetchEvent.request.url ===
      'http://127.0.0.1:8000/inspector-protocol/service-worker/resources/repeat-fetch-service-worker.html') {
    fetchEvent.respondWith(responsePromise.then(response => {
      const init = {
        status: response.status,
        statusText: response.statusText,
        headers: {}
      };
      response.headers.forEach((v, k) => {
        init.headers[k] = v;
      });
      return response.text().then(body => {
        const newBody =
            body.replace('</body>', '<p>injected by service worker</p></body>');
        return new Response(newBody, init);
      });
    }));

  } else {
    fetchEvent.respondWith(responsePromise);
  }
});