async function fetchAndSaveEndpoints()

in ext/js/service-worker.js [34:60]


async function fetchAndSaveEndpoints() {
  return new Promise((resolve, reject) => {
    fetch("https://gcping.com/api/endpoints")
      .then((resp) => resp.json())
      .then((endpoints) => {
        const regions = {};

        for (const zone of Object.values(endpoints)) {
          const gcpZone = {
            key: zone.Region,
            label: zone.RegionName,
            pingUrl: zone.URL + "/api/ping",
            latencies: [],
            median: "",
          };

          regions[gcpZone.key] = gcpZone;
        }

        const data = {};
        data[CHROME_STORAGE_ENDPOINTS_KEY] = regions;

        chrome.storage.local.set(data);
        resolve();
      });
  });
}