Skip to content

Commit ddbd041

Browse files
committed
Destroy request instead of abort
1 parent 71e18e1 commit ddbd041

File tree

3 files changed

+7
-12
lines changed

3 files changed

+7
-12
lines changed

lib/request.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ module.exports = function fetch(options, data, callback) {
196196

197197
if (timeout) {
198198
timer = setTimeout(() => {
199-
req.abort();
199+
req.destroy();
200200
const err = new Error('Request timeout');
201201
err.code = 'E_TIMEOUT';
202202
log.warn({ ms: Date.now() - ts_start, request });

test/integration-test.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*eslint-env mocha*/
22
'use strict';
33

4-
const { assert, refute, sinon } = require('@sinonjs/referee-sinon');
4+
const { assert, refute, match, sinon } = require('@sinonjs/referee-sinon');
55
const http = require('http');
66
const request = require('..');
77

@@ -16,8 +16,7 @@ describe('integration', () => {
1616
it('request timeout', (done) => {
1717
server = http.createServer((_req, _res) => {});
1818
server.listen(() => {
19-
20-
const on_abort = sinon.fake();
19+
const onError = sinon.fake();
2120
const req = request({
2221
protocol: 'http:',
2322
hostname: 'localhost',
@@ -27,12 +26,11 @@ describe('integration', () => {
2726
refute.isNull(err);
2827
assert.equals(err.message, 'Request timeout');
2928
setTimeout(() => {
30-
assert.calledOnce(on_abort);
29+
assert.calledOnceWith(onError, match({ message: 'socket hang up' }));
3130
done();
3231
}, 10);
3332
});
34-
req.on('abort', on_abort);
35-
33+
req.on('error', onError);
3634
});
3735
});
3836

@@ -51,7 +49,6 @@ describe('integration', () => {
5149
res.end();
5250
});
5351
server.listen(() => {
54-
5552
request({
5653
protocol: 'http:',
5754
hostname: 'localhost',
@@ -64,8 +61,6 @@ describe('integration', () => {
6461
assert.equals(json, { hello: 'redirect' });
6562
done();
6663
});
67-
6864
});
6965
});
70-
7166
});

test/request-test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe('request', () => {
2929
beforeEach(() => {
3030
req = new EventEmitter();
3131
req.end = sinon.fake();
32-
req.abort = sinon.fake();
32+
req.destroy = sinon.fake();
3333
res = fakeResponse();
3434
sinon.replace(http, 'request', sinon.fake.returns(req));
3535
sinon.replace(https, 'request', sinon.fake.returns(req));
@@ -302,7 +302,7 @@ describe('request', () => {
302302
message: 'Request timeout',
303303
code: 'E_TIMEOUT'
304304
}));
305-
assert.calledOnce(req.abort);
305+
assert.calledOnce(req.destroy);
306306
});
307307

308308
it('does not modify the original options', () => {

0 commit comments

Comments
 (0)