From a35a61c8db13d3d3e7379de0718b37757c4ec4f9 Mon Sep 17 00:00:00 2001 From: Bilal Al-Shahwany Date: Wed, 21 May 2025 11:57:47 -0700 Subject: [PATCH] Fix proxy error --- lib/splitclient-rb.rb | 1 + lib/splitclient-rb/engine/api/client.rb | 5 +++++ .../engine/models/split_http_response.rb | 19 +++++++++++++++++++ lib/splitclient-rb/version.rb | 2 +- 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 lib/splitclient-rb/engine/models/split_http_response.rb diff --git a/lib/splitclient-rb.rb b/lib/splitclient-rb.rb index 9de3bc5e..9a3b6c5a 100644 --- a/lib/splitclient-rb.rb +++ b/lib/splitclient-rb.rb @@ -107,6 +107,7 @@ require 'splitclient-rb/engine/models/label' require 'splitclient-rb/engine/models/segment_type' require 'splitclient-rb/engine/models/treatment' +require 'splitclient-rb/engine/models/split_http_response' require 'splitclient-rb/engine/auth_api_client' require 'splitclient-rb/engine/back_off' require 'splitclient-rb/engine/push_manager' diff --git a/lib/splitclient-rb/engine/api/client.rb b/lib/splitclient-rb/engine/api/client.rb index d9d6e0df..7906443e 100644 --- a/lib/splitclient-rb/engine/api/client.rb +++ b/lib/splitclient-rb/engine/api/client.rb @@ -20,6 +20,11 @@ def get_api(url, api_key, params = {}, cache_control_headers = false) @config.split_logger.log_if_debug("GET #{url} proxy: #{api_client.proxy}") end + + rescue Zlib::GzipFile::Error => e + @config.logger.warn("Incorrect formatted response exception: #{e}\n") + SplitIoClient::Engine::Models::SplitHttpResponse.new(400, '', true) + rescue StandardError => e @config.logger.warn("#{e}\nURL:#{url}\nparams:#{params}") raise e, 'Split SDK failed to connect to backend to retrieve information', e.backtrace diff --git a/lib/splitclient-rb/engine/models/split_http_response.rb b/lib/splitclient-rb/engine/models/split_http_response.rb new file mode 100644 index 00000000..961b37f6 --- /dev/null +++ b/lib/splitclient-rb/engine/models/split_http_response.rb @@ -0,0 +1,19 @@ +module SplitIoClient + module Engine + module Models + class SplitHttpResponse + attr_accessor :status, :body + + def initialize(status, body, success) + @status = status + @body = body + @success = success + end + + def success? + @success + end + end + end + end +end diff --git a/lib/splitclient-rb/version.rb b/lib/splitclient-rb/version.rb index bc0e4bd5..0f97bfca 100644 --- a/lib/splitclient-rb/version.rb +++ b/lib/splitclient-rb/version.rb @@ -1,3 +1,3 @@ module SplitIoClient - VERSION = '8.5.0' + VERSION = '8.6.0-rc1' end