http: allow multiple WWW-Authenticate headers

This commit is contained in:
Ben Noordhuis 2012-02-15 00:20:54 +01:00 committed by isaacs
parent 8f2694bb53
commit 2c07712860
2 changed files with 5 additions and 0 deletions

View File

@ -294,6 +294,7 @@ IncomingMessage.prototype._addHeaderLine = function(field, value) {
case 'cookie':
case 'pragma':
case 'link':
case 'www-authenticate':
if (field in dest) {
dest[field] += ', ' + value;
} else {

View File

@ -30,6 +30,7 @@ var http = require('http');
var srv = http.createServer(function(req, res) {
assert.equal(req.headers.accept, 'abc, def, ghijklmnopqrst');
assert.equal(req.headers.host, 'foo');
assert.equal(req.headers['www-authenticate'], 'foo, bar, baz');
assert.equal(req.headers['x-foo'], 'bingo');
assert.equal(req.headers['x-bar'], 'banjo, bango');
@ -51,6 +52,9 @@ srv.listen(common.PORT, function() {
['host', 'foo'],
['Host', 'bar'],
['hOst', 'baz'],
['www-authenticate', 'foo'],
['WWW-Authenticate', 'bar'],
['WWW-AUTHENTICATE', 'baz'],
['x-foo', 'bingo'],
['x-bar', 'banjo'],
['x-bar', 'bango']