Skip to content

Instantly share code, notes, and snippets.

/**
* Module dependencies.
*/
var logger = require('koa-logger');
var serve = require('koa-static');
var parse = require('co-busboy');
var koa = require('koa');
var fs = require('fs');
var app = require('./app');
var co = require('co');
var should = require('should');
var request = require('supertest').agent(app.listen());
var users = app.users;
describe('CRUD Api for storing stuff in MongoDb with monk and co-monk', function(){
var removeAll = function(done){
co(function *(){
@marcusoftnet
marcusoftnet / koaCRUDApp.js
Created April 5, 2014 14:17
koaCRUDApp.js
// Create the application
var koa = require('koa');
var route = require('koa-route');
var parse = require('co-body');
var app = module.exports = koa();
// Set up monk stuff, via co-monk
var monk = require('monk');
var wrap = require('co-monk');
var db = monk('localhost/koa_users');
@marcusoftnet
marcusoftnet / koaContentNegotiation.js
Created April 4, 2014 13:50
koaContentNegotiation
var koa = require('koa');
var app = module.exports = koa();
var tobi = {
_id: '123',
name: 'tobi',
species: 'ferret'
};
@marcusoftnet
marcusoftnet / koaBasicAuth.js
Last active August 29, 2015 13:58
koaBasicAuth
var auth = require('koa-basic-auth');
var koa = require('koa');
var app = koa();
// custom 401 handling
app.use(function *(next){
try {
yield next;
} catch (err) {
@marcusoftnet
marcusoftnet / koaErrorHandlingTesting.js
Last active August 29, 2015 13:58
koaErrorHandling Testing
var app = require('./app');
var request = require('supertest').agent(app.listen());
describe('Errors', function () {
it('should catch the error', function(done){
request
.get('/')
.expect(500)
.expect('Content-Type', /text\/html/, done);
})
@marcusoftnet
marcusoftnet / koaErrorHandling.js
Created April 4, 2014 13:03
koaErrorHandling
var koa = require('koa');
var app = module.exports = koa();
// look ma, error propagation!
app.use(function *(next){
try {
yield next;
} catch (err) {
// some errors will have .status
// however this is not a guarantee
@marcusoftnet
marcusoftnet / koaBlog.js
Created April 1, 2014 12:28
Blog site Koa
/**
* Module dependencies.
*/
var render = require('./lib/render');
var logger = require('koa-logger');
var route = require('koa-route');
var views = require('co-views');
var parse = require('co-body');
@marcusoftnet
marcusoftnet / simpleKoa.js
Created March 31, 2014 05:23
simple koa site
// some requires are needed
// route
app.use(route.get('/user', list));
// And here is the handling code
function *list() {
var res = yield users.find({});
this.body = res;
};
@marcusoftnet
marcusoftnet / url.sh
Created March 29, 2014 12:36
Adding users with CURL
curl -X POST -H "Content-Type: application/json" -d '{"username":"marcusoft.net@gmail.com","password":"xyz"}' http://localhost:3000/user -v
curl -X POST -H "Content-Type: application/json" -d '{"username":"hugo@gmail.com","password":"xyz^2"}' http://localhost:3000/user -v
curl -X POST -H "Content-Type: application/json" -d '{"username":"abbe@gmail.com","password":"zyx"}' http://localhost:3000/user -v