mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
attempts at purlMiddleware - using server/index.js to set
session.userId so can properly handle access paths
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
// Generated by CoffeeScript 1.3.3
|
||||
var ONE_YEAR, app, derby, express, expressApp, gzippo, http, mobileMiddleware, path, publicPath, racer, root, server, serverError, store;
|
||||
var ONE_YEAR, app, customMiddleware, derby, express, expressApp, gzippo, http, path, publicPath, racer, root, server, serverError, store,
|
||||
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
||||
|
||||
http = require('http');
|
||||
|
||||
@@ -45,10 +46,30 @@ root = path.dirname(path.dirname(__dirname));
|
||||
|
||||
publicPath = path.join(root, 'public');
|
||||
|
||||
mobileMiddleware = function(req, res, next) {
|
||||
var model;
|
||||
customMiddleware = function(req, res, next) {
|
||||
var acceptableUid, model, uidParam, _i, _results;
|
||||
model = req.getModel();
|
||||
model.set('_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header('User-Agent')));
|
||||
uidParam = req.url.split('/')[1];
|
||||
acceptableUid = require('Guid').isGuid(uidParam) || (__indexOf.call((function() {
|
||||
_results = [];
|
||||
for (_i = 0; _i <= 40; _i++){ _results.push(_i); }
|
||||
return _results;
|
||||
}).apply(this), uidParam) >= 0);
|
||||
if (acceptableUid && model.session.userId !== uidParam) {
|
||||
model.fetch("users." + uidParam, function(err, user) {
|
||||
console.log({
|
||||
uidParam: uidParam,
|
||||
split: req.url.split('/'),
|
||||
err: err,
|
||||
user: user
|
||||
});
|
||||
if (!user.get('id')) {
|
||||
model.set('_userId', uidParam);
|
||||
return model.session.userId = uidParam;
|
||||
}
|
||||
});
|
||||
}
|
||||
return next();
|
||||
};
|
||||
|
||||
@@ -59,7 +80,7 @@ expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
|
||||
cookie: {
|
||||
maxAge: ONE_YEAR
|
||||
}
|
||||
})).use(store.modelMiddleware()).use(mobileMiddleware).use(app.router()).use(expressApp.router).use(serverError(root));
|
||||
})).use(store.modelMiddleware()).use(customMiddleware).use(app.router()).use(expressApp.router).use(serverError(root));
|
||||
|
||||
expressApp.all('*', function(req) {
|
||||
throw "404: " + req.url;
|
||||
|
||||
Reference in New Issue
Block a user