This commit is contained in:
plane000
2018-07-10 20:11:24 +01:00
parent 1c2adf84c7
commit 57e091c134
22 changed files with 2309 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
const express = require('express');
const request = require('snekfetch');
const bodyParser = require('body-parser');
const fs = require('fs');
let port = 8080;
let app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static('./client'));
let apiKey = '8787dcc902ae16212b6325ad5628b4c1'
let lat;
let long;
let units = 'auto';
app.get('/', function (req, res) {
res.sendFile( __dirname + '/client');
});
app.get('/weather', async function (req, res) {
console.log('New Request from ' + req.connection.remoteAddress);
let ext = ['°C', '°F'];
let chos;
lat = req.query.lat;
long = req.query.long;
if (!req.query.celsius) {
units = 'si';
chos = 0;
} else {
units = 'us';
chos = 1;
}
let weather = await startreq();
if (weather.toString() != -1) {
res.end(weather.toString() + ext[chos]);
} else {
res.end('Invalid Coordinates');
}
});
async function startreq() {
try {
let req = request.get(`https://api.darksky.net/forecast/${apiKey}/${lat},${long}`)
req.query('units', units)
let res = await req.send();
return res.body.currently.summary + ', ' + res.body.currently.temperature;
} catch (e) {
return -1;
}
}
let server = app.listen(port);
console.log(`App listening at ${port}`);