node/test/parallel/test-http-keep-alive-timeout-custom.js
atian25@qq.com a63e121e33 http: only set keep-alive when not exists
PR-URL: https://github.com/nodejs/node/pull/35138
Fixes: https://github.com/nodejs/node/issues/34561
Reviewed-By: Ricky Zhou <0x19951125@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Zeyu Yang <himself65@outlook.com>
2020-09-12 20:22:56 +08:00

32 lines
752 B
JavaScript

'use strict';
const common = require('../common');
const http = require('http');
const assert = require('assert');
const server = http.createServer(common.mustCall((req, res) => {
const body = 'hello world\n';
res.writeHead(200, {
'Content-Length': body.length,
'Keep-Alive': 'timeout=50'
});
res.write(body);
res.end();
}));
server.keepAliveTimeout = 12010;
const agent = new http.Agent({ maxSockets: 1, keepAlive: true });
server.listen(0, common.mustCall(function() {
http.get({
path: '/', port: this.address().port, agent: agent
}, common.mustCall((response) => {
response.resume();
assert.strictEqual(
response.headers['keep-alive'], 'timeout=50');
server.close();
agent.destroy();
}));
}));