lib/GoogleAPI.rb in ZReviewTender-1.3.1 vs lib/GoogleAPI.rb in ZReviewTender-1.3.2

- old
+ new

@@ -43,17 +43,24 @@ response = https.request(request).read_body result = JSON.parse(response) if !result["error"].nil? - if retryCount >= 10 - raise "Could not connect to #{tokenURI}, key id: #{keyID}, error message: #{response}" + # Quota exceeded for quota metric 'Write requests' and limit 'Write requests per minute per user + if result["error"]["code"] == 429 + puts "[GoogleAPI] Reached Rate Limited, sleep 30 secs..." + sleep(30) + return request(url, method, data, 0) else - @token = generateJWT() - message = "JWT Invalid, retry. (#{retryCount + 1})" - logger.logWarn(message) - puts "[GoogleAPI] #{message}" - return request(url, method, data, retryCount + 1) + if retryCount >= 10 + raise "Could not connect to #{tokenURI}, key id: #{keyID}, error message: #{response}" + else + @token = generateJWT() + message = "JWT Invalid, retry. (#{retryCount + 1})" + logger.logWarn(message) + puts "[GoogleAPI] #{message}" + return request(url, method, data, retryCount + 1) + end end else return result end \ No newline at end of file