32 lines
991 B
JavaScript
32 lines
991 B
JavaScript
// Configuración central de la API
|
|
// En local (localhost / 127.0.0.1) apunta al backend Docker; en producción, al servidor real.
|
|
const API_BASE = (
|
|
location.hostname === "localhost" ||
|
|
location.hostname === "127.0.0.1" ||
|
|
location.hostname === "" // file:// abierto directamente
|
|
) ? "http://localhost:8080"
|
|
: "https://recursos-catolicos.es:8080";
|
|
|
|
/**
|
|
* Realiza una llamada autenticada a la API.
|
|
* Si el servidor devuelve 401 (token caducado/inválido), cierra la sesión automáticamente.
|
|
*/
|
|
async function apiCall(endpoint, options = {}) {
|
|
const token = getToken();
|
|
const headers = {
|
|
"Content-Type": "application/json",
|
|
...(token ? { "Authorization": `Bearer ${token}` } : {}),
|
|
...(options.headers || {})
|
|
};
|
|
const response = await fetch(`${API_BASE}${endpoint}`, {
|
|
...options,
|
|
headers
|
|
});
|
|
|
|
if (response.status === 401) {
|
|
cerrarSesion();
|
|
return null;
|
|
}
|
|
return response;
|
|
}
|