mirror of
https://github.com/nodejs/node.git
synced 2025-12-28 07:50:41 +00:00
http: headers(Distinct), trailers(Distinct) setters to be no-op
PR-URL: https://github.com/nodejs/node/pull/45176 Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
548f505c3c
commit
4d723c7fd6
@ -122,9 +122,7 @@ ObjectDefineProperty(IncomingMessage.prototype, 'headers', {
|
||||
}
|
||||
return this[kHeaders];
|
||||
},
|
||||
set: function(val) {
|
||||
this[kHeaders] = val;
|
||||
}
|
||||
set: function(val) {}
|
||||
});
|
||||
|
||||
ObjectDefineProperty(IncomingMessage.prototype, 'headersDistinct', {
|
||||
@ -142,9 +140,7 @@ ObjectDefineProperty(IncomingMessage.prototype, 'headersDistinct', {
|
||||
}
|
||||
return this[kHeadersDistinct];
|
||||
},
|
||||
set: function(val) {
|
||||
this[kHeadersDistinct] = val;
|
||||
}
|
||||
set: function(val) {}
|
||||
});
|
||||
|
||||
ObjectDefineProperty(IncomingMessage.prototype, 'trailers', {
|
||||
@ -162,9 +158,7 @@ ObjectDefineProperty(IncomingMessage.prototype, 'trailers', {
|
||||
}
|
||||
return this[kTrailers];
|
||||
},
|
||||
set: function(val) {
|
||||
this[kTrailers] = val;
|
||||
}
|
||||
set: function(val) {}
|
||||
});
|
||||
|
||||
ObjectDefineProperty(IncomingMessage.prototype, 'trailersDistinct', {
|
||||
@ -182,9 +176,7 @@ ObjectDefineProperty(IncomingMessage.prototype, 'trailersDistinct', {
|
||||
}
|
||||
return this[kTrailersDistinct];
|
||||
},
|
||||
set: function(val) {
|
||||
this[kTrailersDistinct] = val;
|
||||
}
|
||||
set: function(val) {}
|
||||
});
|
||||
|
||||
IncomingMessage.prototype.setTimeout = function setTimeout(msecs, callback) {
|
||||
|
||||
54
test/parallel/test-http-set-headers-distinct.js
Normal file
54
test/parallel/test-http-set-headers-distinct.js
Normal file
@ -0,0 +1,54 @@
|
||||
'use strict';
|
||||
|
||||
const common = require('../common');
|
||||
const assert = require('assert');
|
||||
const { createServer, request } = require('http');
|
||||
|
||||
const server = createServer(
|
||||
common.mustCall((req, res) => {
|
||||
req.headersDistinct = { 'x-req-a': ['zzz'] };
|
||||
|
||||
// headersDistinct setter should be a No-Op
|
||||
assert.deepStrictEqual(req.headersDistinct, {
|
||||
'transfer-encoding': [
|
||||
'chunked',
|
||||
],
|
||||
'connection': [
|
||||
'keep-alive',
|
||||
],
|
||||
'host': [
|
||||
`127.0.0.1:${server.address().port}`,
|
||||
]
|
||||
});
|
||||
|
||||
req.on('end', function() {
|
||||
res.write('BODY');
|
||||
res.end();
|
||||
});
|
||||
|
||||
req.resume();
|
||||
})
|
||||
);
|
||||
|
||||
server.listen(
|
||||
0,
|
||||
common.mustCall(() => {
|
||||
const req = request(
|
||||
{
|
||||
host: '127.0.0.1',
|
||||
port: server.address().port,
|
||||
path: '/',
|
||||
method: 'POST',
|
||||
},
|
||||
common.mustCall((res) => {
|
||||
res.on('end', function() {
|
||||
server.close();
|
||||
});
|
||||
res.resume();
|
||||
})
|
||||
);
|
||||
|
||||
req.write('BODY');
|
||||
req.end();
|
||||
})
|
||||
);
|
||||
@ -4,24 +4,23 @@ require('../common');
|
||||
const { IncomingMessage } = require('http');
|
||||
const assert = require('assert');
|
||||
|
||||
// Headers setter function set a header correctly
|
||||
// Headers setter should be a No-Op
|
||||
{
|
||||
const im = new IncomingMessage();
|
||||
im.headers = { key: 'value' };
|
||||
assert.deepStrictEqual(im.headers, { key: 'value' });
|
||||
assert.deepStrictEqual(im.headers, {});
|
||||
}
|
||||
|
||||
// Trailers setter function set a header correctly
|
||||
// Trailers setter should be a No-Op
|
||||
{
|
||||
const im = new IncomingMessage();
|
||||
im.trailers = { key: 'value' };
|
||||
assert.deepStrictEqual(im.trailers, { key: 'value' });
|
||||
assert.deepStrictEqual(im.trailers, {});
|
||||
}
|
||||
|
||||
// _addHeaderLines function set a header correctly
|
||||
{
|
||||
const im = new IncomingMessage();
|
||||
im.headers = { key1: 'value1' };
|
||||
im._addHeaderLines(['key2', 'value2'], 2);
|
||||
assert.deepStrictEqual(im.headers, { key1: 'value1', key2: 'value2' });
|
||||
assert.deepStrictEqual(im.headers, { key2: 'value2' });
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user