let uploader = Uploader.queues.shift();
if (!Uploader.auth) {
Uploader.auth = true;
- const success = await checkAuth(true);
- Uploader.auth = !!success;
+ try {
+ await checkAuth()
+ } catch {
+ Uploader.auth = false;
+ }
}
uploader.ajax();
}
} else {
const $loginBtn = document.querySelector(".login-btn");
$loginBtn.classList.remove("hidden");
- $loginBtn.addEventListener("click", () => checkAuth(true));
+ $loginBtn.addEventListener("click", async () => {
+ try {
+ await checkAuth()
+ } catch (err) {
+ alert(err.message);
+ }
+ });
}
}
}
}
-async function checkAuth(alert = false) {
+async function checkAuth() {
if (!DATA.auth) return;
- try {
- const res = await fetch(baseUrl(), {
- method: "WRITEABLE",
- });
- await assertResOK(res);
- document.querySelector(".login-btn").classList.add("hidden");
- $userBtn.classList.remove("hidden");
- $userBtn.title = "";
- return true;
- } catch (err) {
- let message = `Check auth, ${err.message}`;
- if (alert) {
- alert(message);
- } else {
- throw new Error(message);
- }
- }
+ const res = await fetch(baseUrl(), {
+ method: "WRITEABLE",
+ });
+ await assertResOK(res);
+ document.querySelector(".login-btn").classList.add("hidden");
+ $userBtn.classList.remove("hidden");
+ $userBtn.title = "";
}
/**
async function assertResOK(res) {
if (!(res.status >= 200 && res.status < 300)) {
- throw new Error(await res.text())
+ throw new Error(await res.text() || `Invalid status ${res.status}`);
}
}