Fix https detection for Express 3 #252

Open
wants to merge 1 commit into
from

Conversation

Projects
None yet
2 participants

nulltask commented May 3, 2012

Re pull request of #251. Thanks :)

This is good, except I get an error if req.socket.socket is not defined.

The following works for me:

exports.extractHostname = function (req) {
  console.log(req.socket.socket !== undefined);
  var headers = req.headers
    , protocol = (req.connection.server instanceof tls.Server || 
                 (req.socket.socket !== undefined && req.socket.socket.server instanceof tls.Server) ||
                 req.headers['x-forwarded-proto'] == 'https')
               ? 'https://'
               : 'http://'
    , host = headers.host;
  return protocol + host;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment