1st
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env node
|
||||
'use strict'
|
||||
const p42apiConfig = require("./p42api.json");
|
||||
const http = require('http');
|
||||
const express = require("express");
|
||||
const bodyParser = require('body-parser');
|
||||
const session = require('express-session')
|
||||
const MySQLStore = require('express-mysql-session')(session);
|
||||
|
||||
const corsResolver = require('./corsMiddleware')
|
||||
const P42ApiEndpoints = require('./p42ApiEndpoints')
|
||||
|
||||
const mysqlCreds = {
|
||||
// host: '127.0.0.1',
|
||||
// port: 3306,
|
||||
socketPath: '/var/run/mysqld/mysqld.sock',
|
||||
user: 'p42',
|
||||
password: 'C3h=V9!r>Mvc>skxPf9?W2P3duJTk',
|
||||
database: 'p42'
|
||||
}
|
||||
|
||||
const sessionStore = new MySQLStore({ ...mysqlCreds,
|
||||
createDatabaseTable: false,
|
||||
clearExpired: true,
|
||||
schema: {
|
||||
tableName: 'p42_sessions',
|
||||
columnNames: {
|
||||
session_id: 'session_id',
|
||||
expires: 'expires',
|
||||
data: 'data'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
const app = express();
|
||||
app.set('trust proxy', 1) // trust first proxy (nginx), so we serve http to nginx, but we still behave as if we're in https
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
app.use(bodyParser.json())
|
||||
app.use(corsResolver);
|
||||
|
||||
app.use(session({
|
||||
name: 'p42.api.sid',
|
||||
secret: 'qNhy555Y9vyxj?!3yaYA=aKfgk+Wy5eymNtP*?4i',
|
||||
store: sessionStore,
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
cookie: {
|
||||
maxAge: 1000 * 60 * 60 * 4,
|
||||
secure: true, //See trust proxy above
|
||||
sameSite: 'lax',
|
||||
},
|
||||
}
|
||||
))
|
||||
|
||||
let eps = new P42ApiEndpoints(app)
|
||||
eps.connectDB(mysqlCreds)
|
||||
|
||||
const server = http.createServer(app)
|
||||
.listen(p42apiConfig.listenPort, p42apiConfig.listenHost, function (req, res) {
|
||||
console.log("p42api now listening on %j:%j ", p42apiConfig.listenHost, p42apiConfig.listenPort);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user