Skip to content

Instantly share code, notes, and snippets.

@darrenderidder
darrenderidder / callbacks1.js
Last active August 29, 2015 14:09
I (heart)Callbacks
function greet(user, cb) {
users.findOne(user.name, function (err, result) {
if (err) {
cb(err);
} else {
var fullname = result.fullname;
var email = result.email;
var language = result.language;
greetings.findOne(language, function (err, result) {
if (err) {
// First require the sub app
var gcm = require('../gcm/app.js');
// Second mount the app at a specific URI
app.use('/gcm', gcm);
// module exports function that accepts an 'app' parameter
module.exports = function (app) {
// routes are attached to the app as usual
app.get("/dashboard", function (req, res) {
if (req.session.user) {
res.render('dashboard.ejs', {'title':'Dashboard'});
} else {
res.redirect('/login');
// app.js
// Your code here...
if (!module.parent) {
app.listen(port, host, function () {
console.log("Express server listening on port %d in %s mode",
app.address().port,
app.settings.env
);
it('should authenticate a user', function (done) {
var qstring = JSON.stringify({
userid: testuserParams.login,
password: testuserParams.password
});
var options = defaultPostOptions('/login', qstring);
var req = http.request(options, function (res) {
sessionCookie = res.headers['set-coookie'][0];
res.ond('data', function (d) {
var body = JSON.parse(d.toString('utf8'));
var sessionCookie = null;
function defaultGetOptions(path) {
var options = {
"host": "localhost",
"port": port,
"path": path,
"method": "GET",
"headers": {
"Cookie": sessionCookie
}
};
var http = require('http');
// Or, if you want https
// var https = require('https');
describe('app', function () {
before (function (done) {
app.listen(port, function (err, result) {
if (err) {
done(err);
} else {
done();
}
});
var app = require(__dirname + '/../app.js');
var port = 3333;