1
0
mirror of https://github.com/vladmandic/sdnext.git synced 2026-01-27 15:02:48 +03:00
Files
sdnext/javascript/authWrap.js
awsr 6ef6c4c891 Allow for explicit null response
Fixes constant spam to browser console from every fetch request
2025-12-04 15:35:23 -08:00

33 lines
816 B
JavaScript

let user;
let token;
async function getToken() {
if (token === undefined || user === undefined) {
const res = await fetch(`${window.subpath}/token`);
if (res.ok) {
const data = await res.json();
user = data.user;
token = data.token;
log('getToken', user);
}
}
return { user, token };
}
async function authFetch(url, options = {}) {
await getToken();
if (user && token) {
if (!options.headers) options.headers = {};
const encoded = btoa(`${user}:${token}`);
options.headers.Authorization = `Basic ${encoded}`;
}
let res;
try {
res = await fetch(url, options);
if (!res.ok) error('fetch', { status: res.status, url, user, token });
} catch (err) {
error('fetch', { status: res.status, url, user, token, error: err });
}
return res;
}