36 lines
923 B
JavaScript
36 lines
923 B
JavaScript
require('dotenv').config();
|
|
const express = require('express');
|
|
const { contentFetchRequestHandler } = require('./request_handler');
|
|
|
|
const app = express();
|
|
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
if (!process.env.VERIFICATION_TOKEN) {
|
|
throw new Error('VERIFICATION_TOKEN environment variable is not set');
|
|
}
|
|
|
|
|
|
app.all('/', async (req, res) => {
|
|
if (req.method !== 'GET' && req.method !== 'POST') {
|
|
console.error('request method is not GET or POST')
|
|
return res.sendStatus(405)
|
|
}
|
|
|
|
if (req.query.token !== process.env.VERIFICATION_TOKEN) {
|
|
console.error('query does not include valid token')
|
|
return res.sendStatus(403)
|
|
}
|
|
|
|
return contentFetchRequestHandler(req, res);
|
|
});
|
|
|
|
const PORT = parseInt(process.env.PORT) || 8080;
|
|
app.listen(PORT, () => {
|
|
console.log(`App listening on port ${PORT}`);
|
|
console.log('Press Ctrl+C to quit.');
|
|
});
|
|
|
|
module.exports = app;
|