Browse Source

http: allow multiple WWW-Authenticate headers

v0.9.1-release
Ben Noordhuis 13 years ago
parent
commit
6141386f7e
  1. 1
      lib/http.js
  2. 4
      test/simple/test-http-server-multiheaders.js

1
lib/http.js

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

4
test/simple/test-http-server-multiheaders.js

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

Loading…
Cancel
Save