Skip to content

Instantly share code, notes, and snippets.

@nelreina
Last active August 29, 2015 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nelreina/06f56d084f84dfcc0adf to your computer and use it in GitHub Desktop.
Save nelreina/06f56d084f84dfcc0adf to your computer and use it in GitHub Desktop.
Node js Utils functions
/**
* Created by nelsonreina on 5/16/15.
*/
require('string-format-js');
var forIn = require('lodash').forIn;
var token = require('./token');
function prettifyMongoError(error) {
var message = '';
if (error.code){
switch (error.code){
case 11000:
message += "Duplicate key error!";
message += error.errmsg.match(/{ : (.*?) }/);
break;
default:
message += 'Error code '+ error.code +' is not caught yet... Shame :(';
}
} else {
if(error.errors){
//message += "";
forIn(error.errors, function(err) {
message += err.message;
})
} else if (error.message){
message = error.message;
}
}
return message;
}
function errResponse(err, res, code) {
var errMsg = prettifyMongoError(err);
res.status(code || 400).send(errMsg);
}
function cors(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.header('Access-Control-Allow-Headers', 'Origin, Authorization, X-Requested-With, Content-Type, Accept');
next();
}
exports.prettifyMongoError = prettifyMongoError;
exports.errResponse = errResponse;
exports.cors = cors;
exports.token = token;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment