1
0
mirror of https://github.com/matt-fidd/stratos.git synced 2026-01-01 20:19:30 +00:00

Added middleware to serve static files, and parse incoming bodies

This commit is contained in:
2022-01-23 23:32:37 +00:00
parent c191d74431
commit fb419c3692
3 changed files with 70 additions and 2 deletions

13
app.js
View File

@@ -1,8 +1,12 @@
'use strict';
// Import required modules
const bodyParser = require('body-parser');
const express = require('express');
const path = require('path');
const session = require('express-session');
const serveFavicon = require('serve-favicon');
const serveStatic = require('serve-static');
// Import user defined modules
const DatabaseConnectionPool = require('./lib/DatabaseConnectionPool');
@@ -21,6 +25,15 @@ async function main() {
// Initialise express app
const app = express();
// Set up parsers to allow reading of POST form data
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// Set up routes for static files
app.use(serveFavicon(path.join(__dirname,
'public/assets/favicon.ico')));
app.use('/', serveStatic(path.join(__dirname, 'public')));
// Set up session middleware
app.use(session({
secret: sessionOptions.sessionSecret,

54
package-lock.json generated
View File

@@ -10,10 +10,13 @@
"license": "MIT",
"dependencies": {
"bcrypt": "^5.0.1",
"body-parser": "^1.19.1",
"express": "^4.17.2",
"express-mysql-session": "^2.1.7",
"express-session": "^1.17.2",
"mysql2": "^2.3.3"
"mysql2": "^2.3.3",
"serve-favicon": "^2.5.0",
"serve-static": "^1.14.2"
},
"devDependencies": {
"eslint": "^8.6.0",
@@ -5339,6 +5342,31 @@
"resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz",
"integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4="
},
"node_modules/serve-favicon": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz",
"integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=",
"dependencies": {
"etag": "~1.8.1",
"fresh": "0.5.2",
"ms": "2.1.1",
"parseurl": "~1.3.2",
"safe-buffer": "5.1.1"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/serve-favicon/node_modules/ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
},
"node_modules/serve-favicon/node_modules/safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
},
"node_modules/serve-static": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
@@ -10163,6 +10191,30 @@
"resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz",
"integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4="
},
"serve-favicon": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz",
"integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=",
"requires": {
"etag": "~1.8.1",
"fresh": "0.5.2",
"ms": "2.1.1",
"parseurl": "~1.3.2",
"safe-buffer": "5.1.1"
},
"dependencies": {
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
},
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
}
}
},
"serve-static": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",

View File

@@ -20,10 +20,13 @@
"homepage": "https://github.com/matt-fidd/stratos#readme",
"dependencies": {
"bcrypt": "^5.0.1",
"body-parser": "^1.19.1",
"express": "^4.17.2",
"express-mysql-session": "^2.1.7",
"express-session": "^1.17.2",
"mysql2": "^2.3.3"
"mysql2": "^2.3.3",
"serve-favicon": "^2.5.0",
"serve-static": "^1.14.2"
},
"devDependencies": {
"eslint": "^8.6.0",