http: handle multiple Proxy-Authenticate values

Just as the 'WWW-Authenticate' HTTP header the 'Proxy-Authenticate' header might
be received several times as well. Currently only one value is preserved. This
change allows to receive multiple values concatenated by space and comma.
This commit is contained in:
thewilli 2012-09-24 11:18:05 +03:00 committed by Ben Noordhuis
parent a1ba29d110
commit ac17dc1764
2 changed files with 5 additions and 0 deletions

View File

@ -401,6 +401,7 @@ IncomingMessage.prototype._addHeaderLine = function(field, value) {
case 'pragma':
case 'link':
case 'www-authenticate':
case 'proxy-authenticate':
case 'sec-websocket-extensions':
case 'sec-websocket-protocol':
if (field in dest) {

View File

@ -31,6 +31,7 @@ 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['proxy-authenticate'], 'foo, bar, baz');
assert.equal(req.headers['x-foo'], 'bingo');
assert.equal(req.headers['x-bar'], 'banjo, bango');
assert.equal(req.headers['sec-websocket-protocol'], 'chat, share');
@ -57,6 +58,9 @@ srv.listen(common.PORT, function() {
['www-authenticate', 'foo'],
['WWW-Authenticate', 'bar'],
['WWW-AUTHENTICATE', 'baz'],
['proxy-authenticate','foo'],
['Proxy-Authenticate','bar'],
['PROXY-AUTHENTICATE','baz'],
['x-foo', 'bingo'],
['x-bar', 'banjo'],
['x-bar', 'bango'],