axios-rest-api
Version:
Simple Axios wrapper for simple REST Api requests
74 lines (58 loc) • 1.33 kB
JavaScript
import _ from 'underscore';
import requests from './requests';
export default class core extends requests {
define(name, resource) {
this.resources[name] = resource;
}
extend(name, resource) {
_.extend(this.resources[name], resource);
}
default(key, val) {
if (val !== undefined) {
this.defaults[key] = val;
}
return this.defaults[key];
}
setDelay(sec) {
this.wait = sec ? sec * 1000 : 0;
return this;
}
setHeaders(headers) {
if (headers) {
_.extend(this.config, { headers });
}
}
setBaseURL(url) {
let base = url || this.defaults.baseURL || null;
if (base) {
this.config.baseURL = base;
}
}
isAuth() {
return this.config.headers && this.config.headers.Authorization;
}
saveAuthKey(key, name) {
this.extend(name, {key});
}
setAuthKey(key, name) {
let authKey = key || this.defaults.key;
if (authKey) {
this.setHeaders({ Authorization: `Bearer ${authKey}` });
}
if (name) {
this.saveAuthKey(authKey, name);
}
return this;
}
// setConfig(url, key) {
// this.setBaseURL(url);
// this.setAuthKey(key);
// return this;
// }
setAxiosConfig(config) {
_.extend(this.config, config);
}
dumpAxiosConfig() {
return this.config;
}
}