node package manager



BuildStatus Coverage Status NPM version

This is a connect (or express) middleware that adds the urlgrey url-querying and manipulation library to your request object (using the current request url). It's available as req.uri by default, but you can override the name.

example usage:

   var app = connect();
        app.use(function(req, res) {
            res.end("the path is: ", req.uri.path());

To specify a protocol for the urlgrey object to use:

specify it as a string:

   app.use(urlgreyConnect("http"));  // all links will be http 

specify it as a function:

    var protocolFunction = function(req){
      // always takes a request as its only parameter 
      return req.headers['x-forwarded-proto'] ||
             req.headers['x-forwarded-protocol'] ||
   app.use(urlgreyConnect(protocolFunction, "othername"));  
    /* the protocol for all links will depend on the headers 
       in the request object. */

To have the urlgrey object mapped to a different name than req.uri, provide the name as a second parameter:

   app.use(urlgreyConnect("http", "othername"));  // it will be available as req.othername 

See the urlgrey docs for urlgrey usage.