|
|
|
/**
|
|
|
|
* Main program of Hero Union of filesite.io
|
|
|
|
**/
|
|
|
|
|
|
|
|
import express from 'express';
|
|
|
|
import bodyParser from 'body-parser';
|
|
|
|
import apiRouter from './router_api.mjs';
|
|
|
|
|
|
|
|
const app = express();
|
|
|
|
|
|
|
|
//Express behind proxies
|
|
|
|
app.set('trust proxy', true);
|
|
|
|
app.disable('x-powered-by');
|
|
|
|
|
|
|
|
//Serving static files
|
|
|
|
app.use(express.static('public'));
|
|
|
|
|
|
|
|
// parse application/x-www-form-urlencoded
|
|
|
|
app.use(bodyParser.urlencoded({ extended: false }))
|
|
|
|
// parse application/json
|
|
|
|
app.use(bodyParser.json())
|
|
|
|
|
|
|
|
app.use('/api', apiRouter);
|
|
|
|
|
|
|
|
app.get('/', (req, res) => {
|
|
|
|
return res.send('Welcome to Hero Union of filesite.io');
|
|
|
|
});
|
|
|
|
|
|
|
|
//error handler
|
|
|
|
app.use((err, req, res, next) => {
|
|
|
|
if (res.headersSent) {
|
|
|
|
return next(err);
|
|
|
|
}
|
|
|
|
|
|
|
|
console.error('Request error in hero union: %s', err.stack);
|
|
|
|
|
|
|
|
var statusCode = 500;
|
|
|
|
if (typeof(err.statusCode) != 'undefined' && err.statusCode) {
|
|
|
|
statusCode = err.statusCode;
|
|
|
|
}
|
|
|
|
return res.status(statusCode).send(err.message);
|
|
|
|
})
|
|
|
|
|
|
|
|
// Listen to the App Engine-specified port, or 8080 otherwise
|
|
|
|
const PORT = process.env.PORT || 8080;
|
|
|
|
const HOST = '127.0.0.1';
|
|
|
|
app.listen(PORT, HOST, async () => {
|
|
|
|
console.log('Server listening on port %s...', PORT);
|
|
|
|
});
|