@@ -393,7 +393,7 @@ export class HttpConnection implements IConnection {
393
393
} catch ( ex ) {
394
394
this . _logger . log ( LogLevel . Error , `Failed to start the transport '${ endpoint . transport } ': ${ ex } ` ) ;
395
395
negotiate = undefined ;
396
- transportExceptions . push ( `${ endpoint . transport } failed: ${ ex } ` ) ;
396
+ transportExceptions . push ( new FailedToStartTransportError ( `${ endpoint . transport } failed: ${ ex } ` , endpoint . transport ) ) ;
397
397
398
398
if ( this . _connectionState !== ConnectionState . Connecting ) {
399
399
const message = "Failed to select transport before stop() was called." ;
@@ -447,9 +447,7 @@ export class HttpConnection implements IConnection {
447
447
if ( ( transport === HttpTransportType . WebSockets && ! this . _options . WebSocket ) ||
448
448
( transport === HttpTransportType . ServerSentEvents && ! this . _options . EventSource ) ) {
449
449
this . _logger . log ( LogLevel . Debug , `Skipping transport '${ HttpTransportType [ transport ] } ' because it is not supported in your environment.'` ) ;
450
- const unsupportedTransportError = new Error ( `'${ HttpTransportType [ transport ] } ' is not supported in your environment.` ) ;
451
- unsupportedTransportError . name = `UnsupportedTransport${ HttpTransportType [ transport ] } Error` ;
452
- return unsupportedTransportError ;
450
+ return new UnsupportedTransportError ( `'${ HttpTransportType [ transport ] } ' is not supported in your environment.` , HttpTransportType [ transport ] ) ;
453
451
} else {
454
452
this . _logger . log ( LogLevel . Debug , `Selecting transport '${ HttpTransportType [ transport ] } '.` ) ;
455
453
try {
@@ -652,6 +650,20 @@ export class TransportSendQueue {
652
650
}
653
651
}
654
652
653
+ class UnsupportedTransportError extends Error {
654
+ constructor ( public message : string , transport : string ) {
655
+ super ( message ) ;
656
+ this . name = `UnsupportedTransport${ transport } Error` ;
657
+ }
658
+ }
659
+
660
+ class FailedToStartTransportError extends Error {
661
+ constructor ( public message : string , transport : string ) {
662
+ super ( message ) ;
663
+ this . name = `FailedToStartTransport${ transport } Error` ;
664
+ }
665
+ }
666
+
655
667
class PromiseSource {
656
668
private _resolver ?: ( ) => void ;
657
669
private _rejecter ! : ( reason ?: any ) => void ;
0 commit comments