diff --git a/.generator/src/generator/templates/api_client.j2 b/.generator/src/generator/templates/api_client.j2 index 23c7c8c1cc28..6f27929cf484 100644 --- a/.generator/src/generator/templates/api_client.j2 +++ b/.generator/src/generator/templates/api_client.j2 @@ -8,6 +8,10 @@ require 'logger' require 'tempfile' require 'time' require 'httparty' +begin + require 'zstandard' +rescue LoadError +end module {{ module_name }}::{{ version|upper }} class APIClient @@ -187,6 +191,8 @@ module {{ module_name }}::{{ version|upper }} gzip.close elsif header_params['Content-Encoding'] == 'deflate' data = Zlib::deflate(data) + elsif header_params['Content-Encoding'] == 'zstd1' + data = Zstandard.deflate(data) end data end diff --git a/Gemfile b/Gemfile index f68cfebd9883..54169379f923 100644 --- a/Gemfile +++ b/Gemfile @@ -17,6 +17,7 @@ group :development, :test do gem 'timecop' gem 'vcr' gem 'webmock' + gem 'zstandard' end group :docs do diff --git a/lib/datadog_api_client/v1/api_client.rb b/lib/datadog_api_client/v1/api_client.rb index a64d4f39bb0e..c76db071d03a 100644 --- a/lib/datadog_api_client/v1/api_client.rb +++ b/lib/datadog_api_client/v1/api_client.rb @@ -19,6 +19,10 @@ require 'tempfile' require 'time' require 'httparty' +begin + require 'zstandard' +rescue LoadError +end module DatadogAPIClient::V1 class APIClient @@ -198,6 +202,8 @@ def build_request_body(header_params, form_params, body) gzip.close elsif header_params['Content-Encoding'] == 'deflate' data = Zlib::deflate(data) + elsif header_params['Content-Encoding'] == 'zstd1' + data = Zstandard.deflate(data) end data end diff --git a/lib/datadog_api_client/v2/api_client.rb b/lib/datadog_api_client/v2/api_client.rb index 5497e12193a6..1804d619e769 100644 --- a/lib/datadog_api_client/v2/api_client.rb +++ b/lib/datadog_api_client/v2/api_client.rb @@ -19,6 +19,10 @@ require 'tempfile' require 'time' require 'httparty' +begin + require 'zstandard' +rescue LoadError +end module DatadogAPIClient::V2 class APIClient @@ -198,6 +202,8 @@ def build_request_body(header_params, form_params, body) gzip.close elsif header_params['Content-Encoding'] == 'deflate' data = Zlib::deflate(data) + elsif header_params['Content-Encoding'] == 'zstd1' + data = Zstandard.deflate(data) end data end