photoprism/frontend/src/common/api.js
Michael Mayer a14b74dfa6 Config: Add public flag to disable auth #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-11 21:10:41 +01:00

45 lines
1.1 KiB
JavaScript

import axios from "axios";
import Event from "pubsub-js";
import "@babel/polyfill/noConflict";
const Api = axios.create({
baseURL: "/api/v1",
headers: {common: {
"X-Session-Token": window.localStorage.getItem("session_token"),
}},
});
Api.interceptors.request.use(function (config) {
// Do something before request is sent
Event.publish("ajax.start", config);
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});
Api.interceptors.response.use(function (response) {
Event.publish("ajax.end", response);
return response;
}, function (error) {
if(console && console.log) {
console.log(error);
}
let errorMessage = "An error occurred - are you offline?";
let code = error.code;
if(error.response && error.response.data) {
let data = error.response.data;
code = data.code;
errorMessage = data.message ? data.message : data.error;
}
Event.publish("ajax.end");
Event.publish("alert.error", errorMessage);
return Promise.reject(error);
});
export default Api;