From a6e572e0e6360d275f4a7c70f1c009dddf2ee5c5 Mon Sep 17 00:00:00 2001 From: Riccardo Balbo Date: Tue, 14 May 2024 17:00:05 +0200 Subject: [PATCH] Add ssl --- src/server.js | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/server.js b/src/server.js index 4d94fee..63e16d7 100644 --- a/src/server.js +++ b/src/server.js @@ -1,32 +1,46 @@ import Express from 'express'; +import https from 'https'; +import fs from 'fs'; + +const SSL_CERT = process.env.SSL_CERT; +const SSL_KEY = process.env.SSL_KEY; const app = Express(); app.use(Express.json()); -let EVENTS=[]; +let EVENTS = []; -app.post("/post", (req, res) => { +app.post("/post", (req, res) => { const event = req.body; - const secret=req.query.secret; + const secret = req.query.secret; EVENTS.push({ event: event, timestamp: new Date(), secret: secret }); - res.json({status: "ok"}); + res.json({ status: "ok" }); }); app.get("/get", (req, res) => { - const secret=req.query.secret; - EVENTS=EVENTS.filter((event) => { - return new Date() - event.timestamp < 1000*60*60; + const secret = req.query.secret; + EVENTS = EVENTS.filter((event) => { + return new Date() - event.timestamp < 1000 * 60 * 60; }); res.json(EVENTS.filter((event) => { return event.secret === secret; }).map((event) => event.event)); }); - -app.listen(3000, () => { - console.log("Server is running on port 3000"); -}); +if (SSL_CERT && SSL_KEY) { + const options = { + key: fs.readFileSync(SSL_KEY), + cert: fs.readFileSync(SSL_CERT) + }; + https.createServer(options, app).listen(3000, () => { + console.log("HTTPS Server is running on port 3000"); + }); +} else { + app.listen(3000, () => { + console.log("HTTP Server is running on port 3000"); + }); +} \ No newline at end of file