@@ -63,8 +63,13 @@ export interface VerifyOptions {
63
63
rejectUnauthorized ?: boolean ;
64
64
}
65
65
66
+ export interface SecureConnectResult {
67
+ socket : Socket ;
68
+ secure : boolean ;
69
+ }
70
+
66
71
export interface SecureConnector {
67
- connect ( socket : Socket ) : Promise < Socket > ;
72
+ connect ( socket : Socket ) : Promise < SecureConnectResult > ;
68
73
getCallCredentials ( ) : CallCredentials ;
69
74
destroy ( ) : void ;
70
75
}
@@ -178,7 +183,10 @@ class InsecureChannelCredentialsImpl extends ChannelCredentials {
178
183
_createSecureConnector ( channelTarget : GrpcUri , options : ChannelOptions , callCredentials ?: CallCredentials ) : SecureConnector {
179
184
return {
180
185
connect ( socket ) {
181
- return Promise . resolve ( socket ) ;
186
+ return Promise . resolve ( {
187
+ socket,
188
+ secure : false
189
+ } ) ;
182
190
} ,
183
191
getCallCredentials : ( ) => {
184
192
return callCredentials ?? CallCredentials . createEmpty ( ) ;
@@ -247,14 +255,17 @@ function getConnectionOptions(secureContext: SecureContext, verifyOptions: Verif
247
255
class SecureConnectorImpl implements SecureConnector {
248
256
constructor ( private connectionOptions : ConnectionOptions , private callCredentials : CallCredentials ) {
249
257
}
250
- connect ( socket : Socket ) : Promise < Socket > {
258
+ connect ( socket : Socket ) : Promise < SecureConnectResult > {
251
259
const tlsConnectOptions : ConnectionOptions = {
252
260
socket : socket ,
253
261
...this . connectionOptions
254
262
} ;
255
- return new Promise < Socket > ( ( resolve , reject ) => {
263
+ return new Promise < SecureConnectResult > ( ( resolve , reject ) => {
256
264
const tlsSocket = tlsConnect ( tlsConnectOptions , ( ) => {
257
- resolve ( tlsSocket )
265
+ resolve ( {
266
+ socket : tlsSocket ,
267
+ secure : true
268
+ } )
258
269
} ) ;
259
270
tlsSocket . on ( 'error' , ( error : Error ) => {
260
271
reject ( error ) ;
@@ -316,7 +327,7 @@ class CertificateProviderChannelCredentialsImpl extends ChannelCredentials {
316
327
private static SecureConnectorImpl = class implements SecureConnector {
317
328
constructor ( private parent : CertificateProviderChannelCredentialsImpl , private channelTarget : GrpcUri , private options : ChannelOptions , private callCredentials : CallCredentials ) { }
318
329
319
- connect ( socket : Socket ) : Promise < Socket > {
330
+ connect ( socket : Socket ) : Promise < SecureConnectResult > {
320
331
return new Promise ( async ( resolve , reject ) => {
321
332
const secureContext = await this . parent . getSecureContext ( ) ;
322
333
if ( ! secureContext ) {
@@ -329,7 +340,10 @@ class CertificateProviderChannelCredentialsImpl extends ChannelCredentials {
329
340
...connnectionOptions
330
341
}
331
342
const tlsSocket = tlsConnect ( tlsConnectOptions , ( ) => {
332
- resolve ( tlsSocket )
343
+ resolve ( {
344
+ socket : tlsSocket ,
345
+ secure : true
346
+ } ) ;
333
347
} ) ;
334
348
tlsSocket . on ( 'error' , ( error : Error ) => {
335
349
reject ( error ) ;
0 commit comments