OTM/server.js
soraefir 524a71e391
All checks were successful
continuous-integration/drone/push Build is passing
Added new Attractions
2023-06-18 17:23:11 +02:00

54 lines
1.2 KiB
JavaScript

const fastify = require('fastify')();//{ logger: true });
const path = require('path');
const csass = require("./compile_sass").compileSassMain();
fastify.register(require('@fastify/static'), {
root: path.join(__dirname, 'public'),
prefix: '/public/',
});
fastify.register(require('@fastify/leveldb'), {
name: 'db'
}, err => {
if (err) throw err
});
fastify.get('/', (req, reply) => reply.sendFile('/template/home.html'));
fastify.register(require('./router/api'), { prefix: '/api' });
fastify.get('/:id', (req, reply) => {
try{
const ec = parseInt(req.params.id);
switch(ec){
case 400:
case 401:
case 402:
case 403:
case 404:
case 405:
reply.code(ec).send("Client Error");
break;
case 500:
reply.code(ec).send("Internal Error");
break;
default:
throw undefined;
}
}catch(e){
reply.sendFile('/template/journey.html');
}
});
fastify.get('/view/:id', (req, reply) => reply.sendFile('/template/journey.html'));
fastify.get('/short/:id', (req, reply) => reply.sendFile('/template/journey.html'));
fastify.listen({port:8080,address:'0.0.0.0'} ,(err,address) => {
if (err) throw err;
console.log("Listening on", address);
});