zuora_api 1.11.0 → 1.11.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c3e2e3e17ebf318b524af894ebb8d0fdd6c943724757e0ac7312b4038f315cf
4
- data.tar.gz: d4572546c89bf71cfd44816af541acd7ccd05f9f78cea673a8d752cf5f5749ab
3
+ metadata.gz: 1377cfe445b9ff82e0504e86ef89413c815b4250152769ec11bf6b7b8804cdd9
4
+ data.tar.gz: 9882ca98957ecf177985037124f9e77722fe9c1eeea430f8c5f632fc4327162c
5
5
  SHA512:
6
- metadata.gz: b92b7964475c93e2d17ee6a5b015bf8657f8f143b3c69f5e7285eb027a0db86c6b262cf07c442ba25add1ef66ce1d98bd659b33ee296376259d6eee5ec9c21d2
7
- data.tar.gz: 4fb7b0e5ba49c738e2f8f5c8804b14fbe65a5bde5263cf60324848bc25477b58015987bb0ee01723791d58562b778b3029f67c0f77ce5fd5f47514c48a4de32f
6
+ metadata.gz: 5043d898c8ec80517f01bd65daf031880aa4ab91e14669eedece02be8dab5c7b895abeb8d48330c89a9159875f8a9418adb2db2b3017bfe5b698100bb3035183
7
+ data.tar.gz: 85ca8f78f0807ed8c7533e612a0816dcbdf52ec71131c1c122cc110e89898c0dfbe69d560e5130e50f438bced5235331ee4590af12912248319bddfae52cc376
@@ -7,7 +7,7 @@ module ZuoraAPI
7
7
  class Login
8
8
  ENVIRONMENTS = [TEST = 'Test', SANDBOX = 'Sandbox', PRODUCTION = 'Production', PREFORMANCE = 'Preformance', SERVICES = 'Services', UNKNOWN = 'Unknown', STAGING = 'Staging' ]
9
9
  REGIONS = [EU = 'EU', US = 'US', NA = 'NA' ]
10
- MIN_Endpoints = {'Test': '120.0', 'Sandbox': '120.0', 'Production': '120.0', 'Performance': '120.0', 'Services': '96.0', 'Unknown': '96.0', 'Staging': '121.0'}.freeze
10
+ MIN_Endpoints = {'Test': '126.0', 'Sandbox': '126.0', 'Production': '126.0', 'Performance': '126.0', 'Services': '96.0', 'Unknown': '96.0', 'Staging': '127.0'}.freeze
11
11
  XML_SAVE_OPTIONS = Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION
12
12
  USER_AGENT = "Zuora#{ENV['Z_APPLICATION_NAME']&.capitalize}/#{ENV['Z_APPLICATION_VERSION']&.delete('v')}"
13
13
 
@@ -225,7 +225,8 @@ module ZuoraAPI
225
225
  "NA" => {"Sandbox" => "https://sandbox.na.zuora.com/apps/services/a/",
226
226
  "Production" => "https://na.zuora.com/apps/services/a/",
227
227
  "Performance" => "https://pt1.na.zuora.com/apps/services/a/",
228
- "Services" => "https://services347.na.zuora.com/apps/services/a/"}
228
+ "Services" => "https://services347.na.zuora.com/apps/services/a/",
229
+ "Test" => "https://test.zuora.com/apps/services/a/"}
229
230
  }
230
231
  end
231
232
 
@@ -695,6 +696,7 @@ module ZuoraAPI
695
696
  if body.dig('data', "errorCode") == "LINK_10000005"
696
697
  raise ZuoraAPI::Exceptions::ZuoraAPITemporaryError.new(body.dig('data', "errorMessage"), response)
697
698
  elsif (body.dig('data', "errorMessage").present? || body.dig('data', "queryStatus") == "failed")
699
+ raise ZuoraAPI::Exceptions::ZuoraAPIUnkownError.new("Data query failed for unknown reasons. No error message.", response) if body.dig('data', "errorMessage").blank?
698
700
  raise ZuoraAPI::Exceptions::ZuoraAPIError.new(body.dig('data', "errorMessage"), response)
699
701
  end
700
702
  when /^GET::404::\/query\/jobs\/([a-zA-Z0-9\-_]+)$/ #Get DQ job not found, capture of the id is present if needed in future error responses.
@@ -902,6 +904,8 @@ module ZuoraAPI
902
904
  raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new(error_message, response)
903
905
  when /414 Request-URI Too Large/
904
906
  raise ZuoraAPI::Exceptions::ZuoraAPIError.new("Request URL is too long", response)
907
+ when /Not Found/
908
+ raise ZuoraAPI::Exceptions::ZuoraAPIError.new("The page you were looking for could not be found. If you believe you reached this page in error, please email support.", response)
905
909
  else
906
910
  raise ZuoraAPI::Exceptions::ZuoraAPIInternalServerError.new(error_message, response)
907
911
  end
@@ -1337,11 +1341,7 @@ module ZuoraAPI
1337
1341
  status_code = response.code if response
1338
1342
  case response
1339
1343
  when Net::HTTPOK
1340
- headers = {}
1341
- response.each_header do |k,v|
1342
- headers[k] = v
1343
- end
1344
- Rails.logger.debug("Headers: #{headers.to_s}")
1344
+ Rails.logger.warn("Headers: #{response.to_hash.to_s}")
1345
1345
  if output_file_name.present?
1346
1346
  file_ending ||= output_file_name.end_with?(".csv.zip") ? ".csv.zip" : File.extname(output_file_name)
1347
1347
  filename ||= File.basename(output_file_name, file_ending)
@@ -1349,15 +1349,16 @@ module ZuoraAPI
1349
1349
 
1350
1350
  size, export_progress = [0, 0]
1351
1351
  encoding, type, full_filename = [nil, nil, nil]
1352
- if response.header["Content-Disposition"].present?
1353
- case response.header["Content-Disposition"]
1352
+ if response.get_fields("Content-Disposition").present?
1353
+ content_disposition = response.get_fields("Content-Disposition")[0]
1354
+ case content_disposition
1354
1355
  when /.*; filename\*=.*/
1355
- full_filename ||= /.*; filename\*=(.*)''(.*)/.match(response.header["Content-Disposition"])[2].strip
1356
- encoding = /.*; filename\*=(.*)''(.*)/.match(response.header["Content-Disposition"])[1].strip
1356
+ full_filename ||= /.*; filename\*=(.*)''(.*)/.match(content_disposition)[2].strip
1357
+ encoding = /.*; filename\*=(.*)''(.*)/.match(content_disposition)[1].strip
1357
1358
  when /.*; filename=/
1358
- full_filename ||= /.*; filename=(.*)/.match(response.header["Content-Disposition"])[1].strip
1359
+ full_filename ||= /.*; filename=(.*)/.match(content_disposition)[1].strip
1359
1360
  else
1360
- raise "Can't parse Content-Disposition header: #{response.header["Content-Disposition"]}"
1361
+ raise "Can't parse Content-Disposition header: #{content_disposition}"
1361
1362
  end
1362
1363
  file_ending ||= full_filename.end_with?(".csv.zip") ? ".csv.zip" : File.extname(full_filename)
1363
1364
  filename ||= File.basename(full_filename, file_ending)
@@ -1367,21 +1368,22 @@ module ZuoraAPI
1367
1368
  file_ending ||= uri.path.end_with?(".csv.zip") ? ".csv.zip" : File.extname(uri.path)
1368
1369
  filename ||= File.basename(uri.path, file_ending)
1369
1370
 
1370
- if response.header["Content-Type"].present?
1371
- case response.header["Content-Type"]
1371
+ if response.get_fields("Content-Type").present?
1372
+ content_type = response.get_fields("Content-Type")[0]
1373
+ case content_type
1372
1374
  when /.*;charset=.*/
1373
- type = /(.*);charset=(.*)/.match(response.header["Content-Type"])[1]
1374
- encoding = /(.*);charset=(.*)/.match(response.header["Content-Type"])[2]
1375
+ type = /(.*);charset=(.*)/.match(content_type)[1]
1376
+ encoding = /(.*);charset=(.*)/.match(content_type)[2]
1375
1377
  else
1376
- type = response.header["Content-Type"]
1378
+ type = content_type
1377
1379
  encoding ||= 'UTF-8'
1378
1380
  end
1379
1381
  end
1380
1382
 
1381
- if response.header["Content-Length"].present?
1382
- export_size = response.header["Content-Length"].to_i
1383
- elsif response.header["ContentLength"].present?
1384
- export_size = response.header["ContentLength"].to_i
1383
+ if response.get_fields("Content-Length").present?
1384
+ export_size = response.get_fields("Content-Length")[0].to_i
1385
+ elsif response.get_fields("ContentLength").present?
1386
+ export_size = response.get_fields("ContentLength")[0].to_i
1385
1387
  end
1386
1388
 
1387
1389
  Rails.logger.info("File: #{filename}#{file_ending} #{encoding} #{type} #{export_size}")
@@ -53,7 +53,7 @@ module ZuoraAPI
53
53
  def get_bearer_token(zuora_track_id: nil)
54
54
  raise ZuoraAPI::Exceptions::ZuoraAPIAuthenticationTypeError.new("Request Oauth Login but either 'Oauth Client Id' or 'Oauth Secret' were not passed") if self.oauth_client_id.blank? || self.oauth_secret.blank?
55
55
 
56
- headers = { "content-type" => "application/x-www-form-urlencoded" }
56
+ headers = {"Content-Type" => "application/x-www-form-urlencoded" }
57
57
  headers['Zuora-Track-Id'] = zuora_track_id if zuora_track_id.present?
58
58
  headers['X-Amzn-Trace-Id'] = zuora_track_id if zuora_track_id.present?
59
59
 
@@ -1,3 +1,3 @@
1
1
  module ZuoraAPI
2
- VERSION = "1.11.0"
2
+ VERSION = "1.11.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0
4
+ version: 1.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zuora Strategic Solutions Group
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-19 00:00:00.000000000 Z
11
+ date: 2022-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler