(function() { var API_BASE = '/api/admin'; var AUTH_BASE = '/api/auth'; function headers(extra) { return Object.assign({ 'Accept': 'application/json', }, extra || {}); } async function request(path, options) { var response = await fetch(path, Object.assign({ credentials: 'same-origin', headers: headers(), }, options || {})); if (response.status === 204) { return null; } var payload = null; var text = await response.text(); if (text) { try { payload = JSON.parse(text); } catch (_error) {} } if (!response.ok) { if (response.status === 401 && window.CrankAuth && typeof window.CrankAuth.handleUnauthorized === 'function') { window.CrankAuth.handleUnauthorized(); } var looksLikeHtml = /^\s*