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