From e2a24ace48f56b2be5c2aa2e6086cd082737dc84 Mon Sep 17 00:00:00 2001 From: Aaron Date: Sun, 12 Nov 2023 12:57:59 -0500 Subject: [PATCH] Feature: Add a live service check to the anon message board --- apps/anonymous-message-board/server.js | 61 +++++++++++++------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/apps/anonymous-message-board/server.js b/apps/anonymous-message-board/server.js index 4ca0a595..98628d07 100644 --- a/apps/anonymous-message-board/server.js +++ b/apps/anonymous-message-board/server.js @@ -1,18 +1,18 @@ require('dotenv').config(); -const express = require('express'); -const bodyParser = require('body-parser'); -const cors = require('cors'); -const helmet = require('helmet'); +const express = require('express'); +const bodyParser = require('body-parser'); +const cors = require('cors'); +const helmet = require('helmet'); -const apiRoutes = require('./routes/api.js'); -const fccTestingRoutes = require('./routes/fcctesting.js'); -const runner = require('./test-runner'); +const apiRoutes = require('./routes/api.js'); +const fccTestingRoutes = require('./routes/fcctesting.js'); +const runner = require('./test-runner'); const app = express(); app.use('/public', express.static(process.cwd() + '/public')); -app.use(cors({origin: '*'})); //For FCC testing purposes only +app.use(cors({ origin: '*' })); //For FCC testing purposes only app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); @@ -22,49 +22,48 @@ app.use(helmet.dnsPrefetchControl()); app.use(helmet.referrerPolicy({ policy: 'same-origin' })); // Sample front-end -app.route('/b/:board/') - .get(function (req, res) { - res.sendFile(process.cwd() + '/views/board.html'); - }); +app.route('/b/:board/').get(function (req, res) { + res.sendFile(process.cwd() + '/views/board.html'); +}); -app.route('/b/:board/:threadid') - .get(function (req, res) { - res.sendFile(process.cwd() + '/views/thread.html'); - }); +app.route('/b/:board/:threadid').get(function (req, res) { + res.sendFile(process.cwd() + '/views/thread.html'); +}); // Index page (static HTML) -app.route('/') - .get(function (req, res) { - res.sendFile(process.cwd() + '/views/index.html'); - }); +app.route('/').get(function (req, res) { + res.sendFile(process.cwd() + '/views/index.html'); +}); + +app.get('/status/ping', (req, res) => { + res.send({ msg: 'pong' }).status(200); +}); // For FCC testing purposes fccTestingRoutes(app); -// Routing for API +// Routing for API apiRoutes(app); - + // 404 Not Found middleware -app.use(function(req, res) { - res.status(404) - .type('text') - .send('Not Found'); +app.use(function (req, res) { + res.status(404).type('text').send('Not Found'); }); const portNum = process.env.PORT || 3000; // Start our server and tests app.listen(portNum, function () { - console.log("Listening on port " + portNum); - if(process.env.NODE_ENV==='test') { + console.log('Listening on port ' + portNum); + if (process.env.NODE_ENV === 'test') { console.log('Running Tests...'); setTimeout(function () { try { runner.run(); - } catch(e) { + } catch (e) { const error = e; - console.log('Tests are not valid:'); - console.log(error); + console.log('Tests are not valid:'); + console.log(error); } }, 1500); }