From 61acb7b185976ea0bab604974a8db482fce64818 Mon Sep 17 00:00:00 2001 From: Jun Mukai Date: Thu, 23 Feb 2017 22:19:04 -0800 Subject: [PATCH] Update language client autogen. Updates #2019 --- packages/language/package.json | 2 +- packages/language/src/index.js | 5 ++ packages/language/src/v1/index.js | 9 +-- .../src/v1/language_service_client.js | 64 +++++++++++-------- .../v1/language_service_client_config.json | 12 ++-- packages/language/test/index.js | 8 ++- 6 files changed, 59 insertions(+), 41 deletions(-) diff --git a/packages/language/package.json b/packages/language/package.json index 166ac4d2f82..2e47b73d7a7 100644 --- a/packages/language/package.json +++ b/packages/language/package.json @@ -55,7 +55,7 @@ "@google-cloud/common": "^0.12.0", "arrify": "^1.0.1", "extend": "^3.0.0", - "google-gax": "^0.10.0", + "google-gax": "^0.12.0", "google-proto-files": "^0.9.1", "is": "^3.0.1", "propprop": "^0.3.1", diff --git a/packages/language/src/index.js b/packages/language/src/index.js index cd4e975cd90..9cdc97b1523 100644 --- a/packages/language/src/index.js +++ b/packages/language/src/index.js @@ -57,6 +57,11 @@ function Language(options) { return new Language(options); } + options = extend({}, options, { + libName: 'gccl', + libVersion: require('../package.json').version + }); + this.api = { Language: v1(options).languageServiceClient(options) }; diff --git a/packages/language/src/v1/index.js b/packages/language/src/v1/index.js index 7d76f854877..d6769940525 100644 --- a/packages/language/src/v1/index.js +++ b/packages/language/src/v1/index.js @@ -1,11 +1,11 @@ -/*! - * Copyright 2016 Google Inc. All Rights Reserved. +/* + * Copyright 2016 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -16,8 +16,8 @@ 'use strict'; var languageServiceClient = require('./language_service_client'); -var extend = require('extend'); var gax = require('google-gax'); +var extend = require('extend'); function v1(options) { options = extend({ @@ -29,4 +29,5 @@ function v1(options) { v1.SERVICE_ADDRESS = languageServiceClient.SERVICE_ADDRESS; v1.ALL_SCOPES = languageServiceClient.ALL_SCOPES; + module.exports = v1; diff --git a/packages/language/src/v1/language_service_client.js b/packages/language/src/v1/language_service_client.js index a927916a1ec..384343903d3 100644 --- a/packages/language/src/v1/language_service_client.js +++ b/packages/language/src/v1/language_service_client.js @@ -62,31 +62,36 @@ var ALL_SCOPES = [ * @class */ function LanguageServiceClient(gaxGrpc, grpcClients, opts) { - opts = opts || {}; - var servicePath = opts.servicePath || SERVICE_ADDRESS; - var port = opts.port || DEFAULT_SERVICE_PORT; - var sslCreds = opts.sslCreds || null; - var clientConfig = opts.clientConfig || {}; - var appName = opts.appName || 'gax'; - var appVersion = opts.appVersion || gax.version; + opts = extend({ + servicePath: SERVICE_ADDRESS, + port: DEFAULT_SERVICE_PORT, + clientConfig: {} + }, opts); var googleApiClient = [ - appName + '/' + appVersion, - CODE_GEN_NAME_VERSION, + 'gl-node/' + process.versions.node, + CODE_GEN_NAME_VERSION + ]; + if (opts.libName && opts.libVersion) { + googleApiClient.push(opts.libName + '/' + opts.libVersion); + } + googleApiClient.push( 'gax/' + gax.version, - 'nodejs/' + process.version].join(' '); + 'grpc/' + gaxGrpc.grpcVersion + ); var defaults = gaxGrpc.constructSettings( 'google.cloud.language.v1.LanguageService', configData, - clientConfig, - {'x-goog-api-client': googleApiClient}); + opts.clientConfig, + {'x-goog-api-client': googleApiClient.join(' ')}); + var self = this; + + this.auth = gaxGrpc.auth; var languageServiceStub = gaxGrpc.createStub( - servicePath, - port, - grpcClients.languageServiceClient.google.cloud.language.v1.LanguageService, - {sslCreds: sslCreds}); + grpcClients.google.cloud.language.v1.LanguageService, + opts); var languageServiceStubMethods = [ 'analyzeSentiment', 'analyzeEntities', @@ -94,15 +99,27 @@ function LanguageServiceClient(gaxGrpc, grpcClients, opts) { 'annotateText' ]; languageServiceStubMethods.forEach(function(methodName) { - this['_' + methodName] = gax.createApiCall( + self['_' + methodName] = gax.createApiCall( languageServiceStub.then(function(languageServiceStub) { - return languageServiceStub[methodName].bind(languageServiceStub); + return function() { + var args = Array.prototype.slice.call(arguments, 0); + return languageServiceStub[methodName].apply(languageServiceStub, args); + }; }), defaults[methodName], null); - }.bind(this)); + }); } +/** + * Get the project ID used by this class. + * @aram {function(Error, string)} callback - the callback to be called with + * the current project Id. + */ +LanguageServiceClient.prototype.getProjectId = function(callback) { + return this.auth.getProjectId(callback); +}; + // Service calls /** @@ -330,9 +347,6 @@ function LanguageServiceClientBuilder(gaxGrpc) { }]); extend(this, languageServiceClient.google.cloud.language.v1); - var grpcClients = { - languageServiceClient: languageServiceClient - }; /** * Build a new instance of {@link LanguageServiceClient}. @@ -347,13 +361,9 @@ function LanguageServiceClientBuilder(gaxGrpc) { * @param {Object=} opts.clientConfig * The customized config to build the call settings. See * {@link gax.constructSettings} for the format. - * @param {number=} opts.appName - * The codename of the calling service. - * @param {String=} opts.appVersion - * The version of the calling service. */ this.languageServiceClient = function(opts) { - return new LanguageServiceClient(gaxGrpc, grpcClients, opts); + return new LanguageServiceClient(gaxGrpc, languageServiceClient, opts); }; extend(this.languageServiceClient, LanguageServiceClient); } diff --git a/packages/language/src/v1/language_service_client_config.json b/packages/language/src/v1/language_service_client_config.json index 5c946b6bc60..202d5b0d427 100644 --- a/packages/language/src/v1/language_service_client_config.json +++ b/packages/language/src/v1/language_service_client_config.json @@ -2,13 +2,11 @@ "interfaces": { "google.cloud.language.v1.LanguageService": { "retry_codes": { - "retry_codes_def": { - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "non_idempotent": [] - } + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] }, "retry_params": { "default": { diff --git a/packages/language/test/index.js b/packages/language/test/index.js index cb2a2189550..e9658ade128 100644 --- a/packages/language/test/index.js +++ b/packages/language/test/index.js @@ -103,11 +103,15 @@ describe('Language', function() { var expectedLanguageService = {}; fakeV1Override = function(options) { - assert.strictEqual(options, OPTIONS); + var expected = { + libName: 'gccl', + libVersion: require('../package.json').version + }; + assert.deepStrictEqual(options, expected); return { languageServiceClient: function(options) { - assert.strictEqual(options, OPTIONS); + assert.deepStrictEqual(options, expected); return expectedLanguageService; } };