Object.assign / spread of http request object difference between v14.15.1 and v14.15.2 #36550
Closed
Description
- Version: 14.15.2
- Platform: any
- Subsystem: any
What steps will reproduce the bug?
While trying to create a cloned version of an http request object, prototype properties/methods such as headers
and get
get lost.
const assert = require('assert');
const http = require('http');
const server = http
.createServer((req, res) => {
const dummyReq = { ...req };
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('ok');
assert.deepStrictEqual(req.headers, dummyReq.headers);
})
.listen();
server.on('listening', () => {
http.get(`http://localhost:${server.address().port}`);
});
What is the expected behavior?
I honestly don't know if the behavior from 14.15.1 or from 14.15.2 is expected.
Behavior until 14.15.1: dummyReq.headers
is not undefined
.
What do you see instead?
Output in 14.15.2: dummyReq.headers
is undefined
.
Additional info
The same happens while using Object.assign