nodejs/test/parallel/test-http-agent-timeout-option.js

30 lines
691 B
JavaScript
Raw Normal View History

'use strict';
const { expectsError, mustCall } = require('../common');
const { Agent, get, createServer } = require('http');
// Test that the `'timeout'` event is emitted on the `ClientRequest` instance
// when the socket timeout set via the `timeout` option of the `Agent` expires.
const server = createServer(mustCall(() => {
// Never respond.
}));
server.listen(() => {
const request = get({
agent: new Agent({ timeout: 500 }),
port: server.address().port
});
request.on('error', expectsError({
type: Error,
code: 'ECONNRESET',
message: 'socket hang up'
}));
request.on('timeout', mustCall(() => {
request.abort();
server.close();
}));
});