Added some proposed functionality for Issue #4844 where you could turn off the automatic lowercasing of header keys for use with servers that do not support the lowercasing standard of http header keys. By calling 'http.useRawHeaders(true)' on your http client instance you can now have mixed case header key names as opposed to the default lowercased key names.

Example of usage:
<<--
var http = require('http');

var options = {
  hostname: 'www.google.com',
  port: 80,
  path: '/',
  method: 'GET'
};

// Added this function to set whether to use raw header names as
// opposed to lowercasing the header names.
http.useRawHeaders(true);

var req = http.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode)
  console.log('HEADERS: ' + JSON.stringify(res.headers))
  res.setEncoding('utf8')
  res.on('data', function (chunk) {
    console.log('BODY: ' + chunk)
  })
});

req.on('error', function(e) {
  console.log('problem with request: ' + e.message)
});

req.end();
-->>

After running the example code the output is as follows:

...
HEADERS: {"Location":"http://www.google.co.za/","Cache-Control":"private","Content-Type":"text/html; charset=UTF-8","Set-Cookie":"PREF=ID=fad9453a6cf71964:FF=0:TM=1362404812:LM=1362404812:S=_wO5UGTecGDq6f8S; expires=Wed, 04-Mar-2015 13:46:52 GMT; path=/; domain=.google.com","P3P":"CP=\"This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info.\"","Date":"Mon, 04 Mar 2013 13:46:52 GMT","Server":"gws","Content-Length":"221","X-XSS-Protection":"1; mode=block","X-Frame-Options":"SAMEORIGIN"}
...

As you can see the header key names have mixed case (are not lowercased).

If you omit or set the 'http.useHeaders' to false, then the output would be:

...
HEADERS: {"location":"http://www.google.co.za/","cache-control":"private","content-type":"text/html; charset=UTF-8","set-cookie":["PREF=ID=3547a66ee3be568e:FF=0:TM=1362404949:LM=1362404949:S=-WEsUdho-I2hHnoX; expires=Wed, 04-Mar-2015 13:49:09 GMT; path=/; domain=.google.com","NID=67=sxiGd_Sp_xG6nAZIa39xr7UtFO4Bb5iEXxXN-6nhBaTgIy0jrwqNjfGMMZe_Kmk9-nqx-tGfb644bWfhLt7OFb49xlVBq4TjWsnNOzW556fBKErCzzAZH8DlFQ3btclq; expires=Tue, 03-Sep-2013 13:49:09 GMT; path=/; domain=.google.com; HttpOnly"],"p3p":"CP=\"This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info.\"","date":"Mon, 04 Mar 2013 13:49:09 GMT","server":"gws","content-length":"221","x-xss-protection":"1; mode=block","x-frame-options":"SAMEORIGIN"}
...

As you can see the header key names have all been lowercased by default like the current implementation of Node.js.