miiverse-api/src/server.js
2020-04-26 22:02:23 -05:00

59 lines
1.3 KiB
JavaScript

process.title = 'Pretendo - Miiverse';
const express = require('express');
const morgan = require('morgan');
const xmlparser = require('./middleware/xml-parser');
const database = require('./database');
const logger = require('./logger');
const config = require('./config.json');
const { http: { port } } = config;
const app = express();
const miiverse = require('./services/miiverse-api');
app.set('etag', false);
app.disable('x-powered-by');
// Create router
logger.info('Setting up Middleware');
app.use(morgan('dev'));
app.use(express.json());
app.use(express.urlencoded({
extended: true
}));
app.use(xmlparser);
// import the servers into one
app.use(miiverse);
// 404 handler
logger.info('Creating 404 status handler');
app.use((request, response) => {
//logger.warn(request.protocol + '://' + request.get('host') + request.originalUrl);
response.status(404);
response.send();
});
// non-404 error handler
logger.info('Creating non-404 status handler');
app.use((error, request, response) => {
const status = error.status || 500;
response.status(status);
response.json({
app: 'api',
status,
error: error.message
});
});
// Starts the server
logger.info('Starting server');
database.connect().then(() => {
app.listen(port, () => {
logger.success(`Server started on port ${port}`);
});
});