Migrate request to axios

This commit is contained in:
Mattéo Delabre 2020-07-17 00:16:54 +02:00
parent 3429227114
commit 7badd97610
Signed by: matteo
GPG Key ID: AE3FBD02DC583ABB
5 changed files with 2915 additions and 2495 deletions

View File

@ -1,7 +1,6 @@
const unzip = require('unzip-stream');
const csv = require('csv-parse');
const request = require('request');
const requestp = require('request-promise-native');
const axios = require('axios');
const overpassEndpoint = 'https://lz4.overpass-api.de/api/interpreter';
@ -12,10 +11,10 @@ const overpassEndpoint = 'https://lz4.overpass-api.de/api/interpreter';
* @param query Query in Overpass QL.
* @return Results as provided by the endpoint.
*/
const queryOverpass = query => requestp.post(
const queryOverpass = query => axios.post(
overpassEndpoint,
{form: 'data=' + query}
);
'data=' + query
).then(res => res.data);
exports.queryOverpass = queryOverpass;
@ -77,8 +76,9 @@ const tamRealtimeEndpoint = 'http://data.montpellier3m.fr/node/10732/download';
*/
const fetchTamRealtime = (callback) =>
{
const csvStream = request(tamRealtimeEndpoint);
processTamPassingStream(csvStream, callback);
axios.get(tamRealtimeEndpoint, {
responseType: 'stream'
}).then(res => processTamPassingStream(res.data, callback));
};
exports.fetchTamRealtime = fetchTamRealtime;
@ -96,7 +96,11 @@ const tamTheoreticalFileName = 'offre_du_jour.csv';
*/
const fetchTamTheoretical = (callback) =>
{
const fileStream = request(tamTheoreticalEndpoint).pipe(unzip.Parse());
axios.get(tamTheoreticalEndpoint, {
responseType: 'stream'
}).then(res =>
{
const fileStream = res.data.pipe(unzip.Parse());
fileStream.on('entry', entry =>
{
@ -110,6 +114,7 @@ const fetchTamTheoretical = (callback) =>
});
fileStream.on('error', err => callback(err));
});
};
exports.fetchTamTheoretical = fetchTamTheoretical;

View File

@ -1,5 +1,3 @@
const geolib = require('geolib');
const {choosePlural, joinSentence} = require('../util');
const {queryOverpass, fetchTamTheoretical} = require('./endpoints');
@ -159,7 +157,7 @@ out body qt;
const associations = await fetchStopsRefAssociations();
// List of retrieved objects
const elementsList = JSON.parse(rawData).elements;
const elementsList = rawData.elements;
// List of retrieved lines
const routeMasters = elementsList.filter(elt =>
@ -397,7 +395,7 @@ ${routeDescription} is one-way and cannot be used in reverse.`);
path.indexOf(stops[stopIndex + 1] + 1),
).map(id => ({
lat: elements[id].lat,
lon: elements[id].lon,
lon: elements[id].lon
})));
}

View File

@ -1,4 +1,4 @@
const request = require('request');
const axios = require('axios');
const csv = require('csv-parse');
const network = require('./network');
@ -7,13 +7,17 @@ const {TAM_REALTIME} = require('./endpoints');
const sortByFirstKey = (a, b) => a[0] - b[0];
const fetchRealtime = () => new Promise((res, rej) =>
{
const stream = axios.get(TAM_REALTIME, {
responseType: 'stream'
}).then(stream =>
{
const parser = csv({
delimiter: ';',
});
const stream = request(TAM_REALTIME).pipe(parser);
const courses = {};
stream.pipe(parser);
stream.on('readable', () =>
{
@ -50,6 +54,7 @@ const fetchRealtime = () => new Promise((res, rej) =>
stream.on('end', () => res(courses));
stream.on('error', err => rej(err));
});
});
const updateVehicles = async (lines, vehicles) =>
{

5269
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -12,19 +12,18 @@
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^0.19.2",
"color": "^3.1.2",
"csv-parse": "^4.8.3",
"express": "^4.17.1",
"geolib": "^3.2.1",
"leaflet": "^1.6.0",
"ol": "^6.1.1",
"parcel-bundler": "^1.12.4",
"request": "^2.88.0",
"request-promise-native": "^1.0.8",
"unzip-stream": "^0.3.0"
},
"devDependencies": {
"eslint": "^6.8.0",
"nodemon": "^2.0.2"
"nodemon": "^2.0.2",
"parcel-bundler": "^1.12.4"
}
}