@trimblemaps/content-db
Version:
An isomorphic indexeddb wrapper for storing/retrieving TrimbleMaps content (ie places & place-sets)
40 lines (32 loc) • 998 B
JavaScript
const https = require('https');
const axios = require('axios');
const debug = require('debug')('e2e:rest');
module.exports = ({baseURL, timeout = 20000} = {}) => {
if (!baseURL) {
baseURL = 'https://localhost:5001/api';
}
let authToken = null;
const config = {
baseURL,
timeout,
httpsAgent: new https.Agent({rejectUnauthorized: false})
};
const $http = axios.create(config);
$http.interceptors.request.use(config => {
if (authToken) {
config.headers.Authorization = authToken;
}
debug('request ->', config.headers.Authorization, config.method.toUpperCase(), config.baseURL + config.url);
return config;
});
const instance = {};
instance.get = url => $http.get(url);
instance.delete = url => $http.delete(url);
instance.post = (url, data) => $http.post(url, data);
instance.put = (url, data) => $http.put(url, data);
instance.setAuthHeader = token => {
authToken = token;
};
// Factory instance
return instance;
};