UNPKG

2.29 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _promise = require('babel-runtime/core-js/promise');
8
9var _promise2 = _interopRequireDefault(_promise);
10
11exports.default = apiClient;
12
13var _axios = require('axios');
14
15var _axios2 = _interopRequireDefault(_axios);
16
17var _config = require('../config');
18
19var _config2 = _interopRequireDefault(_config);
20
21var _qs = require('qs');
22
23var _qs2 = _interopRequireDefault(_qs);
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27(function () {
28 var enterModule = require('react-hot-loader').enterModule;
29
30 enterModule && enterModule(module);
31})();
32
33function apiClient(req) {
34 // const instance = axios.create({
35 // baseURL: __SERVER__ ? `http://${config.apiHost}:${config.apiPort}` : '/proxy'
36 // });
37 var instance = _axios2.default.create({
38 baseURL: __SERVER__ ? 'http://' + _config2.default.apiHost + '/proxy' : '/proxy',
39 transformRequest: [function (data) {
40 return _qs2.default.stringify(data || {});
41 }]
42 });
43 var token = void 0;
44
45 instance.setJwtToken = function (newToken) {
46 token = newToken;
47 };
48
49 instance.interceptors.request.use(function (conf) {
50 if (__SERVER__) {
51 if (req.header('cookie')) {
52 conf.headers.Cookie = req.header('cookie');
53 }
54 if (req.header('authorization')) {
55 conf.headers.authorization = req.header('authorization');
56 }
57 }
58
59 if (token) {
60 conf.headers.authorization = token;
61 }
62
63 return conf;
64 }, function (error) {
65 return _promise2.default.reject(error);
66 });
67
68 instance.interceptors.response.use(function (response) {
69 return response.data;
70 }, function (error) {
71 return _promise2.default.reject(error.response ? error.response.data : error);
72 });
73
74 return instance;
75}
76;
77
78(function () {
79 var reactHotLoader = require('react-hot-loader').default;
80
81 var leaveModule = require('react-hot-loader').leaveModule;
82
83 if (!reactHotLoader) {
84 return;
85 }
86
87 reactHotLoader.register(apiClient, 'apiClient', '../../src/helpers/ApiClient.js');
88 leaveModule(module);
89})();
90
91;
92module.exports = exports['default'];
93//# sourceMappingURL=ApiClient.js.map
\No newline at end of file