url-rewriter
v4.3.1
Published
An object which rewrites urls according to previously set rules
Readme
UrlRewriter

Sample ussage
var UrlRewriter = require('url-rewriter'),
urw = new UrlRewriter();
urw.rewrite('/favicon.ico','/.assets/images/favicon/favicon.ico');
urw.rewrite(/^\/articles\/(.*?)\/.*$/,'/article?id=$1');
console.log(urw.compute('/favicon.ico'));
// /.assets/images/favicon/favicon.ico
console.log(urw.compute('/articles/58361/foo-bar'));
// /article?id=58361UrlRewriter class
urw.rewrite( from, to [, test] )
Add a rule to the rewriter. If from is a String, the whole URL is treated as to. If it's a RegExp, URL.replace(from, to) is used instead. test should be a Function which will be called with the current urlRewriter as this and it's expected to return a Boolean indicating whether the current rule should be applied or not.
urw.unrewrite( from )
Undo a previous rewrite call.
urw.compute( url [, info] )
Transform a URL taking into account previously set rewrite rules. info will be used as the only argument of their test functions.
urw.format( url [, query] [, fragment] )
Add all query's enumerable properties and its respective values to the query part of provided URL, and set its fragment to fragment, returning the new decoded URL.
urw.take( event [, callback [, ...args] ] )
An equivalent of:
urw.on(event,function*(e,d){
yield e.take();
if(callback) callback(e,d,..args);
});urw.capture( event [, callback [, ...args] ] )
An equivalent of:
urw.on(event,function*(e,d){
yield e.capture();
if(callback) callback(e,d,..args);
});