Socket
Socket
Sign inDemoInstall

koa-router

Package Overview
Dependencies
Maintainers
1
Versions
91
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

koa-router - npm Package Compare versions

Comparing version 1.3.3 to 1.4.3

54

index.js

@@ -12,7 +12,6 @@ /**

var co = require('co');
var methods = require('methods');
var Route = require('./route');
var Resource = require('./resource');
var parse = require('url').parse;
var methods = require('methods')
, parse = require('url').parse
, Resource = require('./resource')
, Route = require('./route');

@@ -28,2 +27,6 @@ /**

function Router(app) {
if (!(this instanceof Router)) {
var router = new Router(app);
return router.middleware();
}
app.router = this;

@@ -37,3 +40,3 @@ this.app = app;

// Expose `router.route` as `app.map`
app.map = router.route;
app.map = this.route;
// Alias methods for `router.route`

@@ -66,5 +69,18 @@ methods.forEach(function(method) {

/**
* Router middleware. Dispatches route callbacks corresponding to the request.
* Expose `Router`
*/
module.exports = Router;
/**
* Router prototype
*/
var router = Router.prototype;
/**
* Router middleware factory. Returns router middleware which dispatches route
* callbacks corresponding to the request.
*
* @param {Application} app
* @param {Function} next
* @return {Function}

@@ -74,13 +90,11 @@ * @api public

Router.middleware = function(app) {
// Initialize Router
new Router(app);
// Return middleware
router.middleware = function() {
var router = this;
return function(next) {
return function *() {
// Find matching route
var route = app.router.match(this.req.method, parse(this.req.url).path);
var route = router.match(this.req.method, parse(this.req.url).path);
// Dispatch route callbacks
if (route) {
app.context({ route: route, params: route.params });
router.app.context({ route: route, params: route.params });
for (var len = route.callbacks.length, i=0; i<len; i++) {

@@ -101,14 +115,2 @@ yield route.callbacks[i].apply(

/**
* Expose `Router.middleware`
*/
module.exports = Router.middleware;
/**
* Router prototype
*/
var router = Router.prototype;
/**
* Match given `method` and `path` and return corresponding route.

@@ -115,0 +117,0 @@ *

@@ -9,7 +9,5 @@ {

"author": "Alex Mingoia <talk@alexmingoia.com>",
"version": "1.3.3",
"version": "1.4.3",
"keywords": ["koa", "middleware", "router", "route"],
"dependencies": {
"co": "1.5.1",
"koa": "0.0.1",
"lingo": "0.0.5",

@@ -20,2 +18,3 @@ "methods": "0.0.1",

"devDependencies": {
"koa": "0.0.1",
"mocha": "1.12.0",

@@ -22,0 +21,0 @@ "should": "1.2.2",

@@ -18,3 +18,3 @@ # Router middleware for [koa](https://github.com/koajs/koa)

First, require the middleware and mount it:
Require the router and mount the middleware:

@@ -26,3 +26,5 @@ var koa = require('koa')

app.use(router(app));
After the router has been initialized, you can register routes or resources:
app.get('/users/:id', function *(id) {

@@ -32,3 +34,11 @@ var user = yield User.findOne(id);

});
app.resource('forums', require('./controllers/forums'));
You may also instantiate the router separately from mounting the middleware:
var router = new Router(app);
app.use(router.middleware());
### app.verb(path, callback, [callback...])

@@ -35,0 +45,0 @@

@@ -8,3 +8,3 @@ /**

var request = require('supertest');
var router = require('..');
var Router = require('..');
var should = require('should');

@@ -16,6 +16,6 @@ var koa = require('koa');

describe('module', function() {
it('should expose middleware', function(done) {
it('should expose Router', function(done) {
var app = koa();
should.exist(router);
router.should.be.a('function');
should.exist(Router);
Router.should.be.a('function');
done();

@@ -28,3 +28,15 @@ });

var app = koa();
var middleware = router(app);
Router.should.be.a('function');
var router = new Router(app);
router.should.be.instanceOf(Router);
done();
});
it('should expose middleware factory', function(done) {
var app = koa();
var router = new Router(app);
router.should.have.property('middleware');
router.middleware.should.be.a('function');
var middleware = router.middleware();
should.exist(middleware);
middleware.should.be.a('function');

@@ -36,3 +48,3 @@ done();

var app = koa();
app.use(router(app));
app.use(Router(app));
methods.forEach(function(method) {

@@ -68,3 +80,3 @@ app.should.have.property(method);

var app = koa();
app.use(router(app));
app.use(Router(app));
app.use(function(next) {

@@ -99,3 +111,3 @@ return function *() {

var app = koa();
app.use(router(app));
app.use(Router(app));
var route = app.all('/', function *(next) {

@@ -102,0 +114,0 @@ this.status = 204;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc