UNPKG

@zhiguang-gastrofy/capi

Version:

comany apis, including Northfork api and Gastrofy api

100 lines 4.11 kB
"use strict"; 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