@@ -512,7 +512,7 @@ describe('Request', () => {
512
512
expect ( info . remoteAddress ) . to . exist ( ) ;
513
513
} ) ;
514
514
515
- it ( 'handles aborted requests (pre response)' , { retry : true } , async ( ) => {
515
+ it ( 'handles aborted requests (before response)' , { retry : true } , async ( flags ) => {
516
516
517
517
const server = Hapi . server ( ) ;
518
518
server . route ( {
@@ -533,15 +533,26 @@ describe('Request', () => {
533
533
534
534
server . ext ( 'onRequest' , onRequest ) ;
535
535
536
- const onPreHandler = ( request , h ) => {
536
+ let firstRequest = true ;
537
+ const onPreHandler = async ( request , h ) => {
538
+
539
+ if ( firstRequest ) {
540
+ client . destroy ( ) ;
541
+ firstRequest = false ;
542
+ }
543
+ else {
544
+ // To avoid timing differences between node versions, ensure that
545
+ // the second and third requests always experience the disconnect
546
+ await team . work ;
547
+ }
537
548
538
- client . destroy ( ) ;
539
549
return h . continue ;
540
550
} ;
541
551
542
552
server . ext ( 'onPreHandler' , onPreHandler ) ;
543
553
544
554
await server . start ( ) ;
555
+ flags . onCleanup = ( ) => server . stop ( ) ;
545
556
546
557
const client = Net . connect ( server . info . port , ( ) => {
547
558
@@ -553,7 +564,7 @@ describe('Request', () => {
553
564
await team . work ;
554
565
await server . stop ( ) ;
555
566
556
- expect ( codes ) . to . equal ( [ 204 , 204 , 499 ] ) ;
567
+ expect ( codes ) . to . equal ( [ 204 , 499 , 499 ] ) ;
557
568
} ) ;
558
569
559
570
it ( 'returns empty params array when none present' , async ( ) => {
0 commit comments