lib/google/cloud/translate/service.rb in google-cloud-translate-1.0.1 vs lib/google/cloud/translate/service.rb in google-cloud-translate-1.1.0

- old
+ new

@@ -14,11 +14,11 @@ require "google/cloud/errors" require "google/cloud/translate/credentials" require "google/cloud/translate/version" -require "faraday" # comes from googleauth, comes from google-cloud-core +require "faraday" module Google module Cloud module Translate ## @@ -83,11 +83,11 @@ req.body = body unless body.nil? if @key req.params = { key: @key } else - @credentials.sign_http_request req + sign_http_request! req end end end return JSON.parse(response.body)["data"] if response.success? @@ -125,9 +125,20 @@ backoff.execute do yield end rescue Faraday::ConnectionFailed raise Google::Cloud::ResourceExhaustedError + end + + ## + # Sign Oauth2 API calls. + def sign_http_request! request + client = credentials.client + return if client.nil? + + client.fetch_access_token! if client.expires_within? 30 + client.generate_authenticated_request request: request + request end ## # @private Backoff class Backoff