Use axios instead of request

This commit is contained in:
Jia Hao 2016-03-25 19:58:03 +08:00
parent d2ed86e62c
commit 9a9a63c15a
1 changed files with 14 additions and 18 deletions

View File

@ -1,29 +1,25 @@
import request from 'request';
import axios from 'axios';
import _ from 'lodash';
const ELECTRON_VERSIONS_URL = 'https://atom.io/download/atom-shell/index.json';
function getChromeVersionForElectronVersion(electronVersion, url = ELECTRON_VERSIONS_URL) {
return new Promise((resolve, reject) => {
request(url, (error, response, body) => {
if (error) {
reject(error);
return;
return axios.get(url)
.then(response => {
if (response.status !== 200) {
throw `Bad request: Status code ${response.status}`;
}
if (response.statusCode === 200) {
const data = JSON.parse(body);
const electronVersionToChromeVersion = _.zipObject(data.map(d => d.version), data.map(d => d.chrome));
if (!(electronVersion in electronVersionToChromeVersion)) {
reject(`Electron version '${ electronVersion }' not found in retrieved version list!`);
return;
}
resolve(electronVersionToChromeVersion[electronVersion]);
return;
const data = response.data;
const electronVersionToChromeVersion = _.zipObject(data.map(d => d.version), data.map(d => d.chrome));
if (!(electronVersion in electronVersionToChromeVersion)) {
throw `Electron version '${ electronVersion }' not found in retrieved version list!`;
}
reject('Bad request: ' + response.statusCode);
return;
return electronVersionToChromeVersion[electronVersion];
});
});
}
export function getUserAgentString(chromeVersion, platform) {