1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21

content / test / data / service_worker / fetch_from_service_worker.js [blame]

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

async function handleMessage(e) {
  try {
    const response = await fetch(e.data.url);
    if (!response.ok) {
      e.ports[0].postMessage('bad response');
      return;
    }
    const text = await response.text();
    e.ports[0].postMessage(text);
  } catch (error) {
    e.ports[0].postMessage(`${error}`);
  }
}

self.addEventListener('message', e => {
  e.waitUntil(handleMessage(e));
});