@zhiguang-gastrofy/capi
Version:
comany apis, including Northfork api and Gastrofy api
100 lines • 4.11 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var axios_1 = require("axios");
var UA = window.navigator.userAgent;
var isIE11 = UA.indexOf('Trident/7') !== -1;
var isIE = UA.indexOf('MSIE') !== -1 || isIE11;
var isEdge = UA.indexOf('Edge/') !== -1;
var promise = new Promise(function () { });
//const serverMap = {
// nf: 'https://api.northfork.se/api/',
// ga: 'https://www.gastrofy.se/api/',
//};
var HttpService = /** @class */ (function () {
function HttpService(options) {
this.config(options);
axios_1.default.defaults.headers.common['Content-Type'] = 'application/json';
if (isIE || isEdge) {
axios_1.default.defaults.headers.common['Cache-Control'] = 'no-cache';
axios_1.default.defaults.headers.common['Pragma'] = 'no-cache';
axios_1.default.defaults.headers.common['Expires'] = 'Sat, 01 Jan 2000 00:00:00 GMT';
}
this.initMethods();
}
HttpService.prototype.config = function (config) {
if (!config)
return;
for (var _i = 0, _a = ['host', 'customerToken', 'memberToken']; _i < _a.length; _i++) {
var attr = _a[_i];
if (config[attr])
this[attr] = config[attr];
}
};
// It is possible to use config.xxxToken to overwrite temperary
HttpService.prototype.parseConfig = function (config) {
config = __assign({}, config || {});
config.headers = __assign({}, config.headers || {});
var customerToken = this.customerToken;
if (config.customerToken) {
customerToken = config.customerToken;
delete config.customerToken;
}
var memberToken = this.memberToken;
if (config.memberToken) {
memberToken = config.memberToken;
delete config.memberToken;
}
if (customerToken)
config.headers['X-Custom-Auth'] = customerToken;
if (memberToken)
config.headers['token'] = memberToken;
return config;
};
HttpService.prototype.initMethods = function () {
var _loop_1 = function (action) {
this_1[action] = function () {
var args = [].slice.call(arguments);
var config = args.splice(['post', 'put', 'patch'].indexOf(action) === -1 ? 1 : 2, 1)[0];
config = this.parseConfig(config);
var host = this.host;
if (config.host) {
host = config.host;
delete config.host;
}
if (host) {
host = host.replace(/\/+$/, '');
args[0] = args[0].replace(/^\/+/, '');
args[0] = host + '/' + args[0];
}
args.push(config);
return axios_1.default[action].apply(this, args).then(function (res) {
return res.data;
});
};
};
var this_1 = this;
for (var _i = 0, _a = ['get', 'post', 'delete', 'put', 'patch']; _i < _a.length; _i++) {
var action = _a[_i];
_loop_1(action);
}
};
HttpService.prototype.get = function (apiPath, config) { return promise; };
HttpService.prototype.delete = function (apiPath, config) { return promise; };
HttpService.prototype.post = function (apiPath, data, config) { return promise; };
HttpService.prototype.put = function (apiPath, data, config) { return promise; };
HttpService.prototype.patch = function (apiPath, data, config) { return promise; };
return HttpService;
}());
exports.HttpService = HttpService;
//# sourceMappingURL=http.service.js.map