1+ // Flags: --experimental-abortcontroller 
12'use strict' ; 
23const  common  =  require ( '../common' ) ; 
34const  http  =  require ( 'http' ) ; 
@@ -52,8 +53,7 @@ const assert = require('assert');
5253{ 
5354  // destroy 
5455
55-   const  server  =  http . createServer ( common . mustNotCall ( ( req ,  res )  =>  { 
56-   } ) ) ; 
56+   const  server  =  http . createServer ( common . mustNotCall ( ) ) ; 
5757
5858  server . listen ( 0 ,  common . mustCall ( ( )  =>  { 
5959    const  options  =  {  port : server . address ( ) . port  } ; 
@@ -69,3 +69,26 @@ const assert = require('assert');
6969    assert . strictEqual ( req . destroyed ,  true ) ; 
7070  } ) ) ; 
7171} 
72+ 
73+ 
74+ { 
75+   // Destroy with AbortSignal 
76+ 
77+   const  server  =  http . createServer ( common . mustNotCall ( ) ) ; 
78+   const  controller  =  new  AbortController ( ) ; 
79+ 
80+   server . listen ( 0 ,  common . mustCall ( ( )  =>  { 
81+     const  options  =  {  port : server . address ( ) . port ,  signal : controller . signal  } ; 
82+     const  req  =  http . get ( options ,  common . mustNotCall ( ) ) ; 
83+     req . on ( 'error' ,  common . mustCall ( ( err )  =>  { 
84+       assert . strictEqual ( err . code ,  'ABORT_ERR' ) ; 
85+       assert . strictEqual ( err . name ,  'AbortError' ) ; 
86+       server . close ( ) ; 
87+     } ) ) ; 
88+     assert . strictEqual ( req . aborted ,  false ) ; 
89+     assert . strictEqual ( req . destroyed ,  false ) ; 
90+     controller . abort ( ) ; 
91+     assert . strictEqual ( req . aborted ,  false ) ; 
92+     assert . strictEqual ( req . destroyed ,  true ) ; 
93+   } ) ) ; 
94+ } 
0 commit comments