node package manager

urlparse

A simple and focused javascript library which supports basic URL parsing and 'url prefix' testing.

The first feature of urlmatch is its ability to parse a url into components:

console.log(URLParse("http://google.com/"));
{
    "directory": "/",
    "path": "/",
    "relative": "/",
    "host": "google.com",
    "authority": "google.com",
    "scheme": "http",
    "source": "http://google.com/"
}

urlmatch can also validate urls:

$ URLParse("httpe://www.google.com/").validate();
Error: invalid url: unsupported scheme: httpe

can also normalize urls:

$ URLParse("http://www.google.com:80/foo/../bar/").normalize();
http://www.google.com/bar/

And finally, urlmatch can combine all of these features to support robust url prefix matching:

$ URLParse("http://doma.in/appscope/").contains("http://doma.in/appscope/somepath/../../attack.html");
false
$ URLParse("http://doma.in/appscope/").contains("http://doma.in/appscope/somepath/../not_attack.html");
true