import { fetch } from "https://esm.town/v/std/fetch";
export async function checkPollingStatus() {
const { default: axios } = await import("npm:axios");
const tasUrl =
"https://default.exp-tas.com/exptas9/a5766fee-9478-488b-9fc0-64d1ad72c290-IcePrime_MSNApp/api/v1/tas";
const urls = [
"https://sapphire-assignment-api-westus2-01-01.azurewebsites.net/api/VariantAssignment/checkPollingStatus",
"https://sapphire-assignment-api-eastus2-02-01.azurewebsites.net/api/VariantAssignment/checkPollingStatus",
"https://sapphire-assignment-api-japaneast-01-01.azurewebsites.net/api/VariantAssignment/checkPollingStatus",
"https://sapphire-assignment-api-koreacenter-01-01.azurewebsites.net/api/VariantAssignment/checkPollingStatus",
"https://sapphire-assignment-api-northeurope-01-01.azurewebsites.net/api/VariantAssignment/checkPollingStatus",
"https://sapphire-assignment-api-westeurope-01-01.azurewebsites.net/api/VariantAssignment/checkPollingStatus",
"https://sapphire-assignment-api-westus2-02-01.azurewebsites.net/api/VariantAssignment/checkPollingStatus",
];
const results = [];
const tasResponse = await fetch(tasUrl, {
method: "GET",
});
let tasRstStr = "";
if (tasResponse.ok) {
tasRstStr = await tasResponse.text();
}
for (const url of urls) {
try {
const response = await fetch(url, {
method: "GET",
});
if (response.ok) {
const data = await response.text();
const status = data.includes("success") ? "Normal" : "Failed";
results.push({ url, status, data });
}
else {
results.push({ url, status: "Failed" });
}
}
catch (error) {
results.push({ url, status: "Error" });
}
}
const emailContent = results.map((result) =>
`${result.url}: ${result.status}: ${result.data} `
);
emailContent.push(tasRstStr);
if (results.some((result) => result.status === "Failed")) {
console.email({
"[PollingFailed]": "HealthCheck Failed",
"Results": emailContent,
}, "Subject line");
}
}