Skip to content

Commit 1d434b8

Browse files
committed
1 parent 2f325f3 commit 1d434b8

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

lib/transmit.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,10 @@ internals.end = function (env, event, err) {
297297

298298
request._log(event ? ['response', 'error', event] : ['response', 'error'], err);
299299
}
300-
else {
300+
301+
if (!err &&
302+
(!event || event === 'close')) { // Workaround for node change to 'close' event
303+
301304
request._transmitted = true;
302305
}
303306

test/request.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -676,6 +676,36 @@ describe('Request', () => {
676676
expect(request.response.statusCode).to.equal(200);
677677
});
678678

679+
it('generate response event (POST)', async () => {
680+
681+
const server = Hapi.server();
682+
server.route({ method: 'POST', path: '/', handler: () => 'ok' });
683+
684+
const log = server.events.once('response');
685+
await server.inject({ method: 'POST', url: '/' });
686+
const [request] = await log;
687+
expect(request.info.responded).to.be.min(request.info.received);
688+
expect(request.response.source).to.equal('ok');
689+
expect(request.response.statusCode).to.equal(200);
690+
});
691+
692+
it('generate response event (POST via connection)', async () => {
693+
694+
const server = Hapi.server();
695+
server.route({ method: 'POST', path: '/', handler: () => 'ok' });
696+
await server.start();
697+
698+
const log = server.events.once('response');
699+
const { payload } = await Wreck.post(server.info.uri);
700+
expect(payload.toString()).to.equal('ok');
701+
702+
const [request] = await log;
703+
expect(request.info.responded).to.be.min(request.info.received);
704+
expect(request.response.source).to.equal('ok');
705+
expect(request.response.statusCode).to.equal(200);
706+
await server.stop({ timeout: 1 });
707+
});
708+
679709
it('closes response after server timeout', async () => {
680710

681711
const team = new Teamwork();

0 commit comments

Comments
 (0)