From d8a9f29eda5ee07a7185cbb006c3bb4ae5e0ce39 Mon Sep 17 00:00:00 2001
From: Moritz Langenstein <ml5717@ic.ac.uk>
Date: Sat, 12 Oct 2019 19:54:13 +0100
Subject: [PATCH] (ml5717) Updated based on merge request comments

---
 .gitlab-ci.yml |  3 ++-
 src/server.js  | 33 ++++++++++++++++++---------------
 2 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0d6fb0e..3574c3b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,6 +2,7 @@ default:
   image: node:12
 
 stages:
+  - fetch
   - deps
   - check
   - build
@@ -9,7 +10,7 @@ stages:
   - deploy
 
 submodule_fetch:
-  stage: deps
+  stage: fetch
   script:
     - chmod 600 .drawing-app-deploy.rsa
     - git submodule sync --recursive
diff --git a/src/server.js b/src/server.js
index de787cc..2061db1 100644
--- a/src/server.js
+++ b/src/server.js
@@ -1,7 +1,9 @@
 import express from "express"
 import http from "http"
+import process from "process"
 import signalbuddy from "signalbuddy"
 
+const host = "127.0.0.1"
 const port = process.env.PORT || 3000
 
 const app = express()
@@ -17,21 +19,22 @@ const config = {
 
 signalbuddy(server, config)
 
-app.use(
-  "/",
-  express.static("public", {
-    setHeaders: (_response, file_path) => {
-      // Log access
-      console.log(Date.now(), file_path, "accessed")
-    },
-  }),
-)
-
-server.listen(port, () => {
-  const host = server.address().address
-  const port = server.address().port
+app.use((request, response, next) => {
+  response.on("finish", () => {
+    console.log(
+      "[%s] [%s]: %s %s",
+      `${new Date()}`.split(" ", 5).join(" "),
+      response.statusCode,
+      request.method.padStart(7),
+      request.originalUrl,
+    )
+  })
+  next()
+})
 
-  console.log("Started server on %s, port: %s", host, port)
+app.use("/", express.static("public"))
 
-  console.log("Static file server: %s\n", `http://${host}:${port}/`)
+server.listen(port, host, () => {
+  console.log(`Listening on http://${host}:${port}`)
+  process.on("SIGINT", process.exit)
 })
-- 
GitLab