periodicjs.core.controller
Advanced tools
Comparing version 1.90.300 to 2.0.0
@@ -12,6 +12,7 @@ /* | ||
path = require('path'), | ||
async = require('async'), | ||
Utilities = require('periodicjs.core.utilities'), | ||
CoreUtilities; | ||
var logger, appSettings, theme; | ||
var logger, appSettings, theme, applocals; | ||
@@ -34,2 +35,3 @@ /** | ||
theme = resources.settings.theme; | ||
applocals = resources.app.locals; | ||
CoreUtilities = new Utilities(resources); | ||
@@ -56,3 +58,6 @@ }; | ||
if (extname) { | ||
fs.open(exttemplatefile, 'r', function (err) { | ||
fs.open(exttemplatefile, 'r', function (err,fd) { | ||
if(fd){ | ||
fs.close(fd); | ||
} | ||
if (err) { | ||
@@ -73,3 +78,6 @@ callback(err, viewname, null); | ||
if (theme) { | ||
fs.open(themetemplatefile, 'r', function (err) { | ||
fs.open(themetemplatefile, 'r', function (err,fd) { | ||
if(fd){ | ||
fs.close(fd); | ||
} | ||
if (err) { | ||
@@ -117,45 +125,79 @@ callback(err, viewname, null); | ||
callback = options.callback, | ||
responseData = options.responseData; | ||
responseData = options.responseData, | ||
renderResponseData = function(){ | ||
if (err) { | ||
this.handleDocumentQueryErrorResponse({ | ||
res: res, | ||
req: req, | ||
err: err, | ||
callback: callback, | ||
redirecturl: redirecturl | ||
}); | ||
} | ||
else { | ||
responseData.periodic = responseData.periodic || {}; | ||
responseData.periodic.version = appSettings.version; | ||
responseData.periodic.name = appSettings.name; | ||
responseData.request = { | ||
query: req.query, | ||
params: req.params, | ||
baseurl: req.baseUrl, | ||
originalurl: req.originalUrl, | ||
parsed: req._parsedUrl | ||
}; | ||
if (err) { | ||
this.handleDocumentQueryErrorResponse({ | ||
res: res, | ||
req: req, | ||
err: err, | ||
callback: callback, | ||
redirecturl: redirecturl | ||
responseData.flash_messages = req.flash(); | ||
if (req.query.format === 'json' || req.params.ext === 'json') { | ||
res.send(responseData); | ||
} | ||
else if (req.query.callback) { | ||
res.jsonp(responseData); | ||
} | ||
else if (options.redirecturl) { | ||
res.redirect(options.redirecturl); | ||
} | ||
else if (req.is('json') || req.is('application/json')) { | ||
res.json(responseData); | ||
} | ||
else { | ||
res.render(options.renderView, responseData); | ||
} | ||
} | ||
if (callback) { | ||
callback(); | ||
} | ||
}.bind(this); | ||
if(err){ | ||
renderResponseData(); | ||
} | ||
else{ | ||
async.applyEach( | ||
applocals.additionalHTMLFunctions, | ||
{req:req,res:res}, | ||
function(asyncerr){ | ||
if(asyncerr){ | ||
this.handleExceptionError(asyncerr,req,res); | ||
} | ||
else{ | ||
renderResponseData(); | ||
} | ||
}.bind(this)); | ||
} | ||
}; | ||
Controller.prototype.handleExceptionError = function (err, req, res) { | ||
if (req.xhr) { | ||
res.send(500, { | ||
error: 'Something blew up!' | ||
}); | ||
} | ||
else { | ||
responseData.periodic = responseData.periodic || {}; | ||
responseData.periodic.version = appSettings.version; | ||
responseData.periodic.name = appSettings.name; | ||
responseData.request = { | ||
query: req.query, | ||
params: req.params, | ||
baseurl: req.baseUrl, | ||
originalurl: req.originalUrl, | ||
parsed: req._parsedUrl | ||
}; | ||
responseData.flash_messages = req.flash(); | ||
if (req.query.format === 'json' || req.params.ext === 'json') { | ||
res.send(responseData); | ||
} | ||
else if (req.query.callback) { | ||
res.jsonp(responseData); | ||
} | ||
else if (options.redirecturl) { | ||
res.redirect(options.redirecturl); | ||
} | ||
else if (req.is('json') || req.is('application/json')) { | ||
res.json(responseData); | ||
} | ||
else { | ||
res.render(options.renderView, responseData); | ||
} | ||
res.status(500); | ||
// if(appconfig.settings().theme) | ||
res.render('home/error500', { | ||
message: err.message, | ||
error: err | ||
}); | ||
} | ||
if (callback) { | ||
callback(); | ||
} | ||
}; | ||
@@ -185,3 +227,5 @@ | ||
logger.error(err.stack); | ||
if(err.stack){ | ||
logger.error(err.stack); | ||
} | ||
logger.error(errormessage, req.url); | ||
@@ -188,0 +232,0 @@ if (req.query.format === 'json') { |
{ | ||
"name": "periodicjs.core.controller", | ||
"description": "Customizable CMS platform", | ||
"version": "1.90.300", | ||
"version": "2.0.0", | ||
"main": "index.js", | ||
@@ -6,0 +6,0 @@ "engines": { |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
120875
1243
0