From aa69fcb3561aedb57468c4decd74cfc0b2f58e23 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 24 Jan 2018 13:08:07 +0100 Subject: add --- bucky/app/site.js | 91 +++++++++++++++++++++++++++++++++++++++++++++ bucky/bin/export-keyword.js | 0 2 files changed, 91 insertions(+) create mode 100644 bucky/app/site.js create mode 100644 bucky/bin/export-keyword.js diff --git a/bucky/app/site.js b/bucky/app/site.js new file mode 100644 index 0000000..e8e8cbc --- /dev/null +++ b/bucky/app/site.js @@ -0,0 +1,91 @@ +require('dotenv').load(); +var fs = require('fs') +var app, express = require('express'); +var http = require('http'); +var https = require('https'); +var bodyParser = require('body-parser') +var cookieParser = require('cookie-parser') +var csurf = require('csurf') +var path = require('path') +var multiparty = require('multiparty') +var ejs = require('ejs') +var favicon = require('serve-favicon') +var passport = require('passport') +var sessionstore = require('sessionstore') +var session = require('express-session') +var MongoStore = require('connect-mongo')(session); +var upload = require('../util/upload') + +var app, server + +var federate = require('../util/federate') +var auth = require('../util/auth.js') +var middleware = require('../util/middleware.js') +var api = require('./api.js') +var pages = require('./pages.js') + +var site = module.exports = {} +site.init = function(){ + app = express() + app.enable('trust proxy'); + app.set('port', process.env.PORT || 5000) + app.use(favicon(__dirname + '../../../public/favicon.ico')) + app.use(bodyParser.json({limit: '50mb'})) + app.use(cookieParser()) + app.use(session({ + secret: 'argonauts', + proxy: true, + key: 'bucky.sid', + cookie: { + secure: process.env.NODE_ENV === 'production', + domain: '.' + process.env.HOST_NAME, + maxAge: 43200000000, + }, + store: new MongoStore({ + url: 'mongodb://localhost/buckySessionDb' +// type: 'mongodb', +// host: 'localhost', +// port: 27017, +// dbName: 'buckySessionDb', +// collectionName: 'sessions', +// timeout: 10000, + }), + resave: true, + saveUninitialized: false, + })) + + upload.init() + // federate.route(app) + +// app.use(csurf({ +// cookie: true, +// value: (req) => { req.headers['csrf-token'] } +// })) + app.disable('x-powered-by') + + auth.init() + app.use(express.query()) + app.use(passport.initialize()) + app.use(passport.session()) + + server = http.createServer(app).listen(process.env.PORT || 5000, function () { + console.log('Bucky listening at http://' + process.env.HOST_NAME + ':%s', server.address().port) + }) + + app.all('*', middleware.ensureLocals) + + api.route(app) + pages.route(app) + auth.route(app) + + app.set('view engine', 'ejs') + app.set('views', path.join(__dirname, '../../views')) + app.use(express.static(path.join(__dirname, '../../public'))) + + // rebuild javascript after restarting server + if (process.env.NODE_ENV === 'production') { + require('../bin/build-scripts') + } +} +site.api = require('./api') +site.pages = require('./pages') diff --git a/bucky/bin/export-keyword.js b/bucky/bin/export-keyword.js new file mode 100644 index 0000000..e69de29 -- cgit v1.2.3-70-g09d2