src/Router.js
function(url, callback) {
		var that = this,
			atLeastOne = false,
			stopFlag = {},
			lastReturn;
		callback = callback || function() {};
		async.eachSeries(this.promises, function(promiseObj, done) {

			var matcher = promiseObj.callback,
				scraper,
				reqMethod = promiseObj.rqMethod;
			var result = matcher(url);
			if (!!result) {
				scraper = promiseObj.scraper.clone();
				atLeastOne = true;
				scraper._setChainParameter(result);
				scraper.done(function(lr, utils) {
					lastReturn = lr;
					done(that.firstMatchStop ? stopFlag : undefined);
				});
				reqMethod(scraper, url);
			} else {
				done();
			}

		}, function() {
			if (!atLeastOne) {
				that.otherwiseFn(url);
			}
			callback(atLeastOne, lastReturn);
		});
		return this;
	}
function(url, callback) {
		var that = this,
			atLeastOne = false,
			stopFlag = {},
			lastReturn;
		callback = callback || function() {};
		async.eachSeries(this.promises, function(promiseObj, done) {

			var matcher = promiseObj.callback,
				scraper,
				reqMethod = promiseObj.rqMethod;
			var result = matcher(url);
			if (!!result) {
				scraper = promiseObj.scraper.clone();
				atLeastOne = true;
				scraper._setChainParameter(result);
				scraper.done(function(lr, utils) {
					lastReturn = lr;
					done(that.firstMatchStop ? stopFlag : undefined);
				});
				reqMethod(scraper, url);
			} else {
				done();
			}

		}, function() {
			if (!atLeastOne) {
				that.otherwiseFn(url);
			}
			callback(atLeastOne, lastReturn);
		});
		return this;
	}
function ( url , callback ) { var that = this , atLeastOne = false , stopFlag = { } , lastReturn ; callback = callback || function ( ) { } ; async . eachSeries ( this . promises , function ( promiseObj , done ) { var matcher = promiseObj . callback , scraper , reqMethod = promiseObj . rqMethod ; var result = matcher ( url ) ; if ( ! ! result ) { scraper = promiseObj . scraper . clone ( ) ; atLeastOne = true ; scraper . _setChainParameter ( result ) ; scraper . done ( function ( lr , utils ) { lastReturn = lr ; done ( that . firstMatchStop ? stopFlag : undefined ) ; } ) ; reqMethod ( scraper , url ) ; } else { done ( ) ; } } , function ( ) { if ( ! atLeastOne ) { that . otherwiseFn ( url ) ; } callback ( atLeastOne , lastReturn ) ; } ) ; return this ; }
Routes a url through every path that matches it.

@param  {!string} url The url to route.
@param  {!function(boolean)} callback Function to call when the
routing is complete. If any of the paths was found the
parameter is true, false otherwise.
@return {!Router} This router.
@public
Routes a url through every path that matches it .