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