uri-parser - Module for URI parsing
Overview
URI-Parser is a module that provides functions for parsing URI (Uniform Resource Identifier) that is loosly
based upon the standard url
module within node
. Parsing is derived from the excellent parseUri
function by Steven Levithan.
Although the URI-parser takes care of most URI specifications it is not fully compliant with the RFC-3986 specification. For a more complete and fully compliant implemnentation I recommend you take a look at the URI Type for javascript module.
What's an URI?
The best place to start if you want to know more about URIs is (of course) the wikipedia article on Uniform Resource Identifiers.
Once you have been there, and are suitably confused, go take a look at Steve Leviathan's test page for
his parseUri
function that used is within this module to
do all of the hard work.
Installation
npm install uri-parser
Using the Module
The 'uri-parser' module is accessed in the standard way by calling require("uri-parser");
and once loaded
you have access to the following objects and functions.
uri-parser.Parser
Class The Parser
class is a wrapper object class that provides access to an object that can be
used to parse uri
instances.
This class has the following interface:
Parser(options)
Constructor Creates a new instance with the specified options
Parser.parse(uriStr, strictMode)
Method Parses an URI into components (optionally in strict mode)
Parser.complete(obj)
Method Creates a complete URI definition from its components
Parser.format(obj)
Method Formats an URI definition into a well-formed URI string
uri-parser.parse
Function The parse
function is a proxy to the Parser.parse(uriStr, strictMode)
method on a singleton Parser
instance that is created for the module.
uri-parser.complete
Function The complete
function is a proxy to the Parser.complete(obj)
method on a singleton Parser
instance that is created for the module.
uri-parser.format
Function The format
function is a proxy to the Parser.format(obj)
method on a singleton Parser
instance that is created for the module.
Contributors
License
MIT License
Acknowledgements
- Steven Levithan for the
parseUri
function that is the core of this module
Author
Stuart Hudson