@@ -159,6 +159,7 @@ function GrpcService(config, options) {
159
159
this . grpcCredentials = grpc . credentials . createInsecure ( ) ;
160
160
}
161
161
162
+ this . grpcMetadata = config . grpcMetadata ;
162
163
this . maxRetries = options . maxRetries ;
163
164
164
165
var apiVersion = config . apiVersion ;
@@ -186,12 +187,6 @@ function GrpcService(config, options) {
186
187
service . baseUrl = protoConfig . baseUrl ;
187
188
}
188
189
} ) ;
189
-
190
- this . callCredentials = [ ] ;
191
-
192
- if ( config . grpcMetadata ) {
193
- this . setGrpcMetadata_ ( config . grpcMetadata ) ;
194
- }
195
190
}
196
191
197
192
nodeutil . inherits ( GrpcService , Service ) ;
@@ -234,8 +229,17 @@ GrpcService.prototype.request = function(protoOpts, reqOpts, callback) {
234
229
delete reqOpts . autoPaginateVal ;
235
230
236
231
var service = this . getService_ ( protoOpts ) ;
237
- var grpcOpts = { } ;
238
232
233
+ var metadata = null ;
234
+ if ( this . grpcMetadata ) {
235
+ metadata = new grpc . Metadata ( ) ;
236
+
237
+ for ( var prop in this . grpcMetadata ) {
238
+ metadata . add ( prop , this . grpcMetadata [ prop ] ) ;
239
+ }
240
+ }
241
+
242
+ var grpcOpts = { } ;
239
243
if ( is . number ( protoOpts . timeout ) ) {
240
244
grpcOpts . deadline = GrpcService . createDeadline_ ( protoOpts . timeout ) ;
241
245
}
@@ -255,16 +259,16 @@ GrpcService.prototype.request = function(protoOpts, reqOpts, callback) {
255
259
request : function ( _ , onResponse ) {
256
260
respError = null ;
257
261
258
- service [ protoOpts . method ] ( reqOpts , grpcOpts , function ( err , resp ) {
259
- if ( err ) {
260
- respError = GrpcService . decorateError_ ( err ) ;
262
+ service [ protoOpts . method ] ( reqOpts , metadata , grpcOpts , function ( e , resp ) {
263
+ if ( e ) {
264
+ respError = GrpcService . decorateError_ ( e ) ;
261
265
262
266
if ( respError ) {
263
267
onResponse ( null , respError ) ;
264
268
return ;
265
269
}
266
270
267
- onResponse ( err , resp ) ;
271
+ onResponse ( e , resp ) ;
268
272
return ;
269
273
}
270
274
@@ -653,24 +657,15 @@ GrpcService.structToObj_ = function(struct) {
653
657
* @param {?error } callback.err - An error getting an auth client.
654
658
*/
655
659
GrpcService . prototype . getGrpcCredentials_ = function ( callback ) {
656
- var self = this ;
657
-
658
660
this . authClient . getAuthClient ( function ( err , authClient ) {
659
661
if ( err ) {
660
662
callback ( err ) ;
661
663
return ;
662
664
}
663
665
664
- var callCredentialObjects = [
666
+ var grpcCredentials = grpc . credentials . combineChannelCredentials (
665
667
grpc . credentials . createSsl ( ) ,
666
668
grpc . credentials . createFromGoogleCredential ( authClient )
667
- ] ;
668
-
669
- callCredentialObjects = callCredentialObjects . concat ( self . callCredentials ) ;
670
-
671
- var grpcCredentials = grpc . credentials . combineChannelCredentials . apply (
672
- null ,
673
- callCredentialObjects
674
669
) ;
675
670
676
671
callback ( null , grpcCredentials ) ;
@@ -744,19 +739,5 @@ GrpcService.prototype.getService_ = function(protoOpts) {
744
739
return service ;
745
740
} ;
746
741
747
- GrpcService . prototype . setGrpcMetadata_ = function ( metadata ) {
748
- var cc = grpc . credentials . createFromMetadataGenerator ( function ( _ , cb ) {
749
- var grpcMetadata = new grpc . Metadata ( ) ;
750
-
751
- for ( var prop in metadata ) {
752
- grpcMetadata . add ( prop , metadata [ prop ] ) ;
753
- }
754
-
755
- cb ( null , grpcMetadata ) ;
756
- } ) ;
757
-
758
- this . callCredentials . push ( cc ) ;
759
- } ;
760
-
761
742
module . exports = GrpcService ;
762
743
module . exports . GRPC_ERROR_CODE_TO_HTTP = GRPC_ERROR_CODE_TO_HTTP ;
0 commit comments