Comparing version 0.1.0-beta-6 to 0.1.0-beta-7
@@ -75,3 +75,2 @@ "use strict"; | ||
this.routes.push(rule); | ||
}, | ||
@@ -133,17 +132,25 @@ | ||
parseRequest: function Router_parseRequest(method, parsedUrl) { | ||
var i, len = this.routes.length, routeRule, route = []; | ||
var all = []; | ||
for (i = len - 1; i > -1; --i) { | ||
routeRule = this.routes[i]; | ||
route = routeRule.parseRequest(method, parsedUrl); | ||
if (Type.isArray(route) && route.length) { | ||
break; | ||
this.routes.forEach(function (routeRule) { | ||
all.push( | ||
new Promise(function (resolve, reject) { | ||
try { | ||
resolve(routeRule.parseRequest(method, parsedUrl)) | ||
} catch (e) { | ||
reject(e); | ||
} | ||
}) | ||
); | ||
}); | ||
return Promise.all(all).then(function (data) { | ||
var route; | ||
while (data.length) { | ||
route = data.shift(); | ||
if (Type.isArray(route) && route.length === 2) { | ||
return route; | ||
} | ||
} | ||
} | ||
if (!Type.isArray(route)) { | ||
route = []; | ||
} | ||
logger.print('Router.parseRequest', route); | ||
return route; | ||
return []; | ||
}); | ||
}, | ||
@@ -195,3 +202,3 @@ /** | ||
return new Promise(handlePromise.bind(this)) | ||
return this.parseRequest(method, parsedUrl) | ||
.then(function (routeRule) { | ||
@@ -206,10 +213,2 @@ if (Type.isArray(routeRule) && routeRule.length === 2) { | ||
}); | ||
function handlePromise(resolve, reject) { | ||
try { | ||
resolve(this.parseRequest(method, parsedUrl)); | ||
} catch (e) { | ||
reject(e); | ||
} | ||
} | ||
} | ||
@@ -216,0 +215,0 @@ }); |
@@ -5,3 +5,3 @@ { | ||
"description": "Powerful lightweight mvc framework for nodejs", | ||
"version": "0.1.0-beta-6", | ||
"version": "0.1.0-beta-7", | ||
"dependencies" : { | ||
@@ -8,0 +8,0 @@ "mongoose": "3.8.x", |
103620
3296