@@ -452,65 +452,70 @@ function connect (client) {
452452 } )
453453 }
454454
455- client [ kConnector ] ( {
456- host,
457- hostname,
458- protocol,
459- port,
460- servername : client [ kServerName ] ,
461- localAddress : client [ kLocalAddress ]
462- } , ( err , socket ) => {
463- if ( err ) {
464- handleConnectError ( client , err , { host, hostname, protocol, port } )
465- client [ kResume ] ( )
466- return
467- }
455+ try {
456+ client [ kConnector ] ( {
457+ host,
458+ hostname,
459+ protocol,
460+ port,
461+ servername : client [ kServerName ] ,
462+ localAddress : client [ kLocalAddress ]
463+ } , ( err , socket ) => {
464+ if ( err ) {
465+ handleConnectError ( client , err , { host, hostname, protocol, port } )
466+ client [ kResume ] ( )
467+ return
468+ }
468469
469- if ( client . destroyed ) {
470- util . destroy ( socket . on ( 'error' , noop ) , new ClientDestroyedError ( ) )
471- client [ kResume ] ( )
472- return
473- }
470+ if ( client . destroyed ) {
471+ util . destroy ( socket . on ( 'error' , noop ) , new ClientDestroyedError ( ) )
472+ client [ kResume ] ( )
473+ return
474+ }
474475
475- assert ( socket )
476+ assert ( socket )
476477
477- try {
478- client [ kHTTPContext ] = socket . alpnProtocol === 'h2'
479- ? connectH2 ( client , socket )
480- : connectH1 ( client , socket )
481- } catch ( err ) {
482- socket . destroy ( ) . on ( 'error' , noop )
483- handleConnectError ( client , err , { host, hostname, protocol, port } )
484- client [ kResume ] ( )
485- return
486- }
478+ try {
479+ client [ kHTTPContext ] = socket . alpnProtocol === 'h2'
480+ ? connectH2 ( client , socket )
481+ : connectH1 ( client , socket )
482+ } catch ( err ) {
483+ socket . destroy ( ) . on ( 'error' , noop )
484+ handleConnectError ( client , err , { host, hostname, protocol, port } )
485+ client [ kResume ] ( )
486+ return
487+ }
487488
488- client [ kConnecting ] = false
489-
490- socket [ kCounter ] = 0
491- socket [ kMaxRequests ] = client [ kMaxRequests ]
492- socket [ kClient ] = client
493- socket [ kError ] = null
494-
495- if ( channels . connected . hasSubscribers ) {
496- channels . connected . publish ( {
497- connectParams : {
498- host,
499- hostname,
500- protocol,
501- port,
502- version : client [ kHTTPContext ] ?. version ,
503- servername : client [ kServerName ] ,
504- localAddress : client [ kLocalAddress ]
505- } ,
506- connector : client [ kConnector ] ,
507- socket
508- } )
509- }
489+ client [ kConnecting ] = false
490+
491+ socket [ kCounter ] = 0
492+ socket [ kMaxRequests ] = client [ kMaxRequests ]
493+ socket [ kClient ] = client
494+ socket [ kError ] = null
495+
496+ if ( channels . connected . hasSubscribers ) {
497+ channels . connected . publish ( {
498+ connectParams : {
499+ host,
500+ hostname,
501+ protocol,
502+ port,
503+ version : client [ kHTTPContext ] ?. version ,
504+ servername : client [ kServerName ] ,
505+ localAddress : client [ kLocalAddress ]
506+ } ,
507+ connector : client [ kConnector ] ,
508+ socket
509+ } )
510+ }
510511
511- client . emit ( 'connect' , client [ kUrl ] , [ client ] )
512+ client . emit ( 'connect' , client [ kUrl ] , [ client ] )
513+ client [ kResume ] ( )
514+ } )
515+ } catch ( err ) {
516+ handleConnectError ( client , err , { host, hostname, protocol, port } )
512517 client [ kResume ] ( )
513- } )
518+ }
514519}
515520
516521function handleConnectError ( client , err , { host, hostname, protocol, port } ) {
0 commit comments