Express: Strip out port from req.headers.host
I doubt anyone will ever need this but just in case. I had a scenario where I needed to deliver the hostname (without the port) through an .ejs
variable. The hostname comes from the request header so that's easy to find and I simply used a .match with a ternary conditional to keep things clean.
var express = require("express"),
app = express.createServer();
app.get("/", function( req, res ){
//Strip out port number
var hostname = ( req.headers.host.match(/:/g) ) ? req.headers.host.slice( 0, req.headers.host.indexOf(":") ) : req.headers.host
res.render( "index.ejs", {
layout: false,
hostname: "http://" + hostname
});
});