diff --git a/web/app/common/fetcher.js b/web/app/common/fetcher.js index 6f31110a..4f074713 100644 --- a/web/app/common/fetcher.js +++ b/web/app/common/fetcher.js @@ -1,6 +1,7 @@ import 'common/promises'; // TODO: i think we need to use unfetch here instead of heavy axios +// import axios from 'axios'; import fetch from 'unfetch'; import { BASE_URL, API_BASE } from './constants'; @@ -9,6 +10,17 @@ import { siteId } from './settings'; const fetcher = {}; const methods = ['get', 'post', 'put', 'patch', 'delete', 'head']; +// const { CancelToken } = axios; +// let cancelHandler = []; + +// fetcher.cancel = (mask) => { +// cancelHandler.forEach(req => { +// if (req.url.includes(mask)) { +// req.executor('Operation canceled by the user.'); +// } +// }); +// }; + methods.forEach(method => { fetcher[method] = data => { const { @@ -19,7 +31,6 @@ methods.forEach(method => { } = (typeof data === 'string' ? { url: data } : data); const basename = `${BASE_URL}${overriddenApiBase}`; - // TODO: try to rewrite without promises return new Promise((resolve, reject) => { const parameters = { method: method.toUpperCase(), diff --git a/web/package-lock.json b/web/package-lock.json index c8893239..a97bf84f 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -339,6 +339,15 @@ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", "dev": true }, + "axios": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", + "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", + "requires": { + "follow-redirects": "1.4.1", + "is-buffer": "1.1.6" + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -2520,7 +2529,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -3400,6 +3408,14 @@ } } }, + "follow-redirects": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz", + "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", + "requires": { + "debug": "3.1.0" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -5308,8 +5324,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", @@ -6195,8 +6210,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.3", diff --git a/web/package.json b/web/package.json index 7668cdeb..be8a86d2 100644 --- a/web/package.json +++ b/web/package.json @@ -30,6 +30,7 @@ "webpack-dev-server": "^2.7.1" }, "dependencies": { + "axios": "^0.17.1", "babel-polyfill": "^6.23.0", "bem-react-helper": "^1.1.2", "preact": "^8.2.7",