Browse files

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.
  • Loading branch information...
1 parent c08320c commit 33a5c8a814483ff48ba3acd94e091335b3536870 @thewilli thewilli committed with isaacs Sep 24, 2012
Showing with 5 additions and 0 deletions.
  1. +1 −0 lib/http.js
  2. +4 −0 test/simple/test-http-server-multiheaders.js
View
1 lib/http.js
@@ -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
4 test/simple/test-http-server-multiheaders.js
@@ -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'],

0 comments on commit 33a5c8a

Please sign in to comment.