node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

urlgrey-connect

urlgrey-connect

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(urlgreyConnect());
        app.use(function(req, res) {
            res.end("the path is: ", req.uri.path());
        });
        http.createServer(app).listen(3000);

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'] ||
             'http';
    };
   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.