Koa es en framework de Node diseñado por el equipo de Express. Koa es más pequeño, más expresivo y más robusto para aplicaciones webs y APIs. Koa renuncia a los callbacks y apuesta por los generadores haciendo más fácil manejar los errores. Koa no tiene ningún middleware en su core y proporciona un elegante conjunto de métodos que hacen fácil y rápido desarrollar.
var koa = require('koa');
var app = koa();
// x-response-time
app.use(function *(next){
var start = new Date;
yield next;
var ms = new Date - start;
this.set('X-Response-Time', ms + 'ms');
});
// logger
app.use(function *(next){
var start = new Date;
yield next;
var ms = new Date - start;
console.log('%s %s - %s', this.method, this.url, ms);
});
// response
app.use(function *(){
this.body = 'Hello World';
});
app.listen(3000);
Middleware
'use strict';
export default checkauth() {
return async (ctx, next) {
if (ctx.isAuthenticated()
|| ctx.path.indexOf('/auth/') >= 0
|| ctx.path.indexOf('/open/') >= 0
|| ctx.path==='/'
|| ctx.path.indexOf('.html') >= 0) {
await next()
} else {
ctx.body = {
"status" : 401
}
}
}
}