Browse Source

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.
v0.9.3-release
thewilli 12 years ago
committed by Ben Noordhuis
parent
commit
ac17dc1764
  1. 1
      lib/http.js
  2. 4
      test/simple/test-http-server-multiheaders.js

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) {

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'],

Loading…
Cancel
Save