mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-22 11:15:23 -04:00
Marked as 0.2.9
This commit is contained in:
parent
4e64583a0b
commit
f7f8c901f4
33 changed files with 2972 additions and 242 deletions
40
app.js
40
app.js
|
@ -5,6 +5,7 @@ var toobusy = require('toobusy-js');
|
|||
var ejs = require('ejs');
|
||||
var passport = require('passport');
|
||||
var methodOverride = require('method-override');
|
||||
var cookieParser = require('cookie-parser');
|
||||
var bodyParser = require('body-parser');
|
||||
var mongoose = require('mongoose');
|
||||
var compression = require('compression')
|
||||
|
@ -14,9 +15,12 @@ var fs = require('fs');
|
|||
var shortid = require('shortid');
|
||||
var imgur = require('imgur');
|
||||
var formidable = require('formidable');
|
||||
var morgan = require('morgan');
|
||||
var passportSocketIo = require("passport.socketio");
|
||||
|
||||
//core
|
||||
var config = require("./config.js");
|
||||
var logger = require("./lib/logger.js");
|
||||
var User = require("./lib/user.js");
|
||||
var Temp = require("./lib/temp.js");
|
||||
var auth = require("./lib/auth.js");
|
||||
|
@ -45,7 +49,12 @@ if (config.usessl) {
|
|||
var app = express();
|
||||
var server = require('http').createServer(app);
|
||||
}
|
||||
//socket io listen
|
||||
var io = require('socket.io').listen(server);
|
||||
//logger
|
||||
app.use(morgan('combined', {
|
||||
"stream": logger.stream
|
||||
}));
|
||||
|
||||
// connect to the mongodb
|
||||
mongoose.connect(process.env.MONGOLAB_URI || config.mongodbstring);
|
||||
|
@ -65,6 +74,15 @@ var urlencodedParser = bodyParser.urlencoded({
|
|||
extended: false
|
||||
});
|
||||
|
||||
//session store
|
||||
var sessionStore = new MongoStore({
|
||||
mongooseConnection: mongoose.connection,
|
||||
touchAfter: config.sessiontouch
|
||||
},
|
||||
function (err) {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
//compression
|
||||
app.use(compression());
|
||||
|
||||
|
@ -79,13 +97,7 @@ app.use(session({
|
|||
expires: new Date(Date.now() + config.sessionlife),
|
||||
},
|
||||
maxAge: new Date(Date.now() + config.sessionlife),
|
||||
store: new MongoStore({
|
||||
mongooseConnection: mongoose.connection,
|
||||
touchAfter: config.sessiontouch
|
||||
},
|
||||
function (err) {
|
||||
console.log(err);
|
||||
})
|
||||
store: sessionStore
|
||||
}));
|
||||
|
||||
//middleware which blocks requests when we're too busy
|
||||
|
@ -293,6 +305,7 @@ app.get('/me', function (req, res) {
|
|||
var profile = JSON.parse(user.profile);
|
||||
res.send({
|
||||
status: 'ok',
|
||||
id: req.session.passport.user,
|
||||
name: profile.displayName || profile.username
|
||||
});
|
||||
}
|
||||
|
@ -317,7 +330,9 @@ app.post('/uploadimage', function (req, res) {
|
|||
.then(function (json) {
|
||||
if (config.debug)
|
||||
console.log('SERVER uploadimage success: ' + JSON.stringify(json));
|
||||
res.send({link:json.data.link});
|
||||
res.send({
|
||||
link: json.data.link
|
||||
});
|
||||
})
|
||||
.catch(function (err) {
|
||||
console.error(err);
|
||||
|
@ -337,6 +352,15 @@ app.get("/:noteId/:action", response.noteActions);
|
|||
|
||||
//socket.io secure
|
||||
io.use(realtime.secure);
|
||||
//socket.io auth
|
||||
io.use(passportSocketIo.authorize({
|
||||
cookieParser: cookieParser,
|
||||
key: config.sessionname,
|
||||
secret: config.sessionsecret,
|
||||
store: sessionStore,
|
||||
success: realtime.onAuthorizeSuccess,
|
||||
fail: realtime.onAuthorizeFail
|
||||
}));
|
||||
//socket.io heartbeat
|
||||
io.set('heartbeat interval', config.heartbeatinterval);
|
||||
io.set('heartbeat timeout', config.heartbeattimeout);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue