Next Phenomenal Microbrewery
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    bb-parse-urlpublic

    parse-url

    PayPal AMA Travis Version Downloads Get help on Codementor

    An advanced url parser supporting git urls too.

    ☁️ Installation

    $ npm i --save parse-url

    📋 Example

    // Dependencies 
    const parseUrl = require("parse-url");
     
    console.log(parseUrl("http://ionicabizau.net/blog"));
    // { protocols: [ 'http' ], 
    //   protocol: 'http', 
    //   port: null, 
    //   resource: 'ionicabizau.net', 
    //   user: '', 
    //   pathname: '/blog', 
    //   hash: '', 
    //   search: '', 
    //   href: 'http://ionicabizau.net/blog' } 
     
    console.log(parseUrl("http://domain.com/path/name?foo=bar&bar=42#some-hash"));
    // { protocols: [ 'http' ], 
    //   protocol: 'http', 
    //   port: null, 
    //   resource: 'domain.com', 
    //   user: '', 
    //   pathname: '/path/name', 
    //   hash: 'some-hash', 
    //   search: 'foo=bar&bar=42', 
    //   href: 'http://domain.com/path/name?foo=bar&bar=42#some-hash' } 
     
    console.log(parseUrl("git+ssh://git@host.xz/path/name.git"));
    // { protocols: [ 'git', 'ssh' ], 
    //   protocol: 'git', 
    //   port: null, 
    //   resource: 'host.xz', 
    //   user: 'git', 
    //   pathname: '/path/name.git', 
    //   hash: '', 
    //   search: '', 
    //   href: 'git+ssh://git@host.xz/path/name.git' } 
     
    console.log(parseUrl("git@github.com:IonicaBizau/git-stats.git"));
    // { protocols: [], 
    //   protocol: 'ssh', 
    //   port: null, 
    //   resource: 'github.com', 
    //   user: 'git', 
    //   pathname: '/IonicaBizau/git-stats.git', 
    //   hash: '', 
    //   search: '', 
    //   href: 'git@github.com:IonicaBizau/git-stats.git' } 

    📝 Documentation

    parseUrl(url)

    Parses the input url.

    Params

    • String url: The input url.

    Return

    • Object An object containing the following fields:
    • protocols (Array): An array with the url protocols (usually it has one element).
    • protocol (String): The first protocol, "ssh" (if the url is a ssh url) or "file".
    • port (null|Number): The domain port.
    • resource (String): The url domain (including subdomains).
    • user (String): The authentication user (usually for ssh urls).
    • pathname (String): The url pathname.
    • hash (String): The url hash.
    • search (String): The url querystring value.
    • href (String): The input url.

    😋 How to contribute

    Have an idea? Found a bug? See how to contribute.

    💫 Where is this library used?

    If you are using this library in one of your projects, add it in this list. ✨

    • deploy-versioning—Deploy your code keeping older versions.
    • git-up—A low level git url parser.
    • hubot-will-it-connect (by gambtho)—Connects hubot with willitconnect, to validate CF's ability to connect to external resources
    • kakapo (by devlucky)—Next generation mocking framework in Javascript
    • lien—Another lightweight NodeJS framework. Lien is the link between request and response objects.
    • microbe.js (by Brandon Dail)—A small Node.js framework for simple routing
    • tumblr-text (by cobaimelan)—Build Status [Build Status](https://david-dm.org/ayhan
    • url-local—Checks if a given url is a local url or not.

    📜 License

    MIT © Ionică Bizău

    install

    npm i bb-parse-url

    Downloadslast 7 days

    1

    version

    2.0.1

    license

    MIT

    homepage

    github.com

    repository

    github.com

    last publish

    collaborators

    • avatar