2018-06-08 12:42:27 +08:00
|
|
|
'use strict';
|
|
|
|
|
2019-01-13 15:30:50 +01:00
|
|
|
// Test that the request `timeout` option has precedence over the agent
|
|
|
|
// `timeout` option.
|
2018-06-08 12:42:27 +08:00
|
|
|
|
2019-01-13 15:30:50 +01:00
|
|
|
const { mustCall } = require('../common');
|
|
|
|
const { Agent, get } = require('http');
|
|
|
|
const { strictEqual } = require('assert');
|
2018-06-08 12:42:27 +08:00
|
|
|
|
2019-01-13 15:30:50 +01:00
|
|
|
const request = get({
|
|
|
|
agent: new Agent({ timeout: 50 }),
|
|
|
|
lookup: () => {},
|
|
|
|
timeout: 100
|
2018-06-08 12:42:27 +08:00
|
|
|
});
|
|
|
|
|
2019-01-13 15:30:50 +01:00
|
|
|
request.on('socket', mustCall((socket) => {
|
|
|
|
strictEqual(socket.timeout, 100);
|
2018-06-08 12:42:27 +08:00
|
|
|
|
2019-01-13 15:30:50 +01:00
|
|
|
const listeners = socket.listeners('timeout');
|
2018-06-08 12:42:27 +08:00
|
|
|
|
2020-02-28 22:27:39 +01:00
|
|
|
strictEqual(listeners.length, 2);
|
|
|
|
strictEqual(listeners[1], request.timeoutCb);
|
2019-01-13 15:30:50 +01:00
|
|
|
}));
|