forked from lambrojos/asteroid_alert
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
49 lines (44 loc) · 1.12 KB
/
index.js
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
42
43
44
45
46
47
48
49
'use strict'
const Hapi = require('hapi')
const server = new Hapi.Server()
const db = require('./lib/db')
const { getDangerousAsteroids } = require('./lib/poll')
server.connection({
host: process.env['HOST'] || '0.0.0.0',
port: process.env['PORT'] || 3000,
routes: {
validate: {
options: {
abortEarly: false,
stripUnknown: true
}
}
}
})
server.route({
handler: (request, reply) => reply(db('asteroid')),
method: 'GET',
path: '/warnings'
})
const getTodaysDanger = () => {
const today = new Date()
const yesterday = new Date()
yesterday.setDate(yesterday.getDate() - 1)
getDangerousAsteroids(
yesterday.toISOString().substring(0, 10),
today.toISOString().substring(0, 10)
)
}
server.on('response', function (request) {
console.log(request.info.remoteAddress + ': ' + request.method.toUpperCase() + ' ' + request.url.path + ' --> ' + request.response.statusCode)
})
if (process.env.NODE_ENV !== 'test') {
server.start((err) => {
if (err) {
throw err
}
// getTodaysDanger()
setInterval(getTodaysDanger, 24 * 60 * 60 * 1000)
})
}
module.exports = server