From 0fbee8bad3e348be0417677deb06bd02ec2e54bd Mon Sep 17 00:00:00 2001 From: Michael Q Larson Date: Mon, 17 Nov 2014 19:26:55 -0800 Subject: [PATCH] add new relic and potentially fix the challenges controller --- controllers/challenges.js | 17 +++++++++++++---- newrelic.js | 24 ++++++++++++++++++++++++ package.json | 2 ++ 3 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 newrelic.js diff --git a/controllers/challenges.js b/controllers/challenges.js index 0efad1d924..c60bf52fe7 100644 --- a/controllers/challenges.js +++ b/controllers/challenges.js @@ -2,17 +2,26 @@ * GET / * Challenges. */ -var Challenge = require('./../models/Challenge') +var Challenge = require('./../models/Challenge'); +var _ = require('lodash'); -exports.returnChallenge = function(req, res) { - Challenge.findOne({challengeNumber: req.params.challengeNumber}, function(err, c){ +exports.returnChallenge = function(req, res, next) { + var challengeNumber = req.params.challengeNumber; + if (!_.isNumber(challengeNumber)) { + challengeNumber = 0; + } + Challenge.findOne({challengeNumber: challengeNumber}, function(err, c){ + if (err) { + console.error('Challenge err: ', err); + next(err); + } res.render('challenges/show', { title: 'Challenge', name: c.name, video: c.video, time: c.time, steps: c.steps, - cc: req.user.challengesCompleted || [] + cc: req.user ? req.user.challengesCompleted : [] }); }); }; \ No newline at end of file diff --git a/newrelic.js b/newrelic.js new file mode 100644 index 0000000000..6954497884 --- /dev/null +++ b/newrelic.js @@ -0,0 +1,24 @@ +/** + * New Relic agent configuration. + * + * See lib/config.defaults.js in the agent distribution for a more complete + * description of configuration variables and their potential values. + */ +exports.config = { + /** + * Array of application names. + */ + app_name : ['freecodecamp'], + /** + * Your New Relic license key. + */ + license_key : '4b88e7cef87e9e99728be2d36c4d5f2a3862f5ae', + logging : { + /** + * Level at which to log. 'trace' is most useful to New Relic when diagnosing + * issues with the agent, 'info' and higher will impose the least overhead on + * production applications. + */ + level : 'info' + } +}; diff --git a/package.json b/package.json index ec0534e91a..2719e7f533 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "express-validator": "^2.6.0", "fbgraph": "^0.2.11", "github-api": "^0.7.0", + "helmet": "^0.5.2", "instagram-node": "^0.5.1", "jade": "^1.7.0", "lastfm": "^0.9.2", @@ -37,6 +38,7 @@ "method-override": "^2.2.0", "mongoose": "^3.8.16", "morgan": "^1.3.1", + "newrelic": "^1.13.3", "node-foursquare": "^0.2.1", "node-linkedin": "^0.3.3", "nodemailer": "^1.2.2",