summaryrefslogtreecommitdiff
path: root/school/node_modules/pronote-api/src/geo.js
blob: 6b2909c74882b3cedac13b59ef1e04d288d013b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const https = require('https');

function geo(lat, long) {
    return new Promise((resolve, reject) => {

        const data = `data={"nomFonction": "geoLoc","lat": ${lat.toString()},"long": ${long.toString()}}`;

        const options = {
            hostname: 'www.index-education.com',
            port: 443,
            path: '/swie/geoloc.php',
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
                // eslint-disable-next-line max-len
                'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
                'Content-Length': data.length
            }
        }

        let incomingData = '';
        const request = https.request(options, res => {
            res.on('data', data => {
                incomingData += data;
            });
            res.on('end', () => {
                const data = JSON.parse(incomingData);
                resolve(Array.isArray(data) ? data : []);
            });
        });

        request.write(data);
        request.end();

        request.on('error', error => {
            reject(error);
        });
    })
}

module.exports = geo;