Skip to content

Commit 338ac89

Browse files
committed
Fixed proxy error
1 parent b3f3f36 commit 338ac89

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

splitio/api/client.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,11 @@ def get(self, server, path, sdk_key, query=None, extra_headers=None): # pylint:
207207
self._record_telemetry(response.status_code, get_current_epoch_time_ms() - start)
208208
return HttpResponse(response.status_code, response.text, response.headers)
209209

210-
except Exception as exc: # pylint: disable=broad-except
210+
except requests.exceptions.ChunkedEncodingError as exc:
211+
_LOGGER.error("IncompleteRead exception detected: %s", exc)
212+
return HttpResponse(400, "", {})
213+
214+
except Exception as exc: # pylint: disable=broad-except
211215
raise HttpClientException(_EXC_MSG.format(source='request')) from exc
212216

213217
def post(self, server, path, sdk_key, body, query=None, extra_headers=None): # pylint: disable=too-many-arguments
@@ -300,6 +304,10 @@ async def get(self, server, path, apikey, query=None, extra_headers=None): # py
300304
await self._record_telemetry(response.status, get_current_epoch_time_ms() - start)
301305
return HttpResponse(response.status, body, response.headers)
302306

307+
except aiohttp.ClientPayloadError as exc:
308+
_LOGGER.error("ContentLengthError exception detected: %s", exc)
309+
return HttpResponse(400, "", {})
310+
303311
except aiohttp.ClientError as exc: # pylint: disable=broad-except
304312
raise HttpClientException(_EXC_MSG.format(source='aiohttp')) from exc
305313

splitio/api/splits.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ def fetch_splits(self, change_number, rbs_change_number, fetch_options):
8989
self._check_last_proxy_check_timestamp(change_number)
9090
change_number = self._check_old_spec_since(change_number)
9191

92+
if self._spec_version == _SPEC_1_1:
93+
fetch_options = FetchOptions(fetch_options.cache_control_headers, fetch_options.change_number,
94+
None, fetch_options.sets, self._spec_version)
95+
rbs_change_number = None
9296
query, extra_headers = build_fetch(change_number, fetch_options, self._metadata, rbs_change_number)
9397
response = self._client.get(
9498
'sdk',
@@ -158,6 +162,10 @@ async def fetch_splits(self, change_number, rbs_change_number, fetch_options):
158162
try:
159163
self._check_last_proxy_check_timestamp(change_number)
160164
change_number = self._check_old_spec_since(change_number)
165+
if self._spec_version == _SPEC_1_1:
166+
fetch_options = FetchOptions(fetch_options.cache_control_headers, fetch_options.change_number,
167+
None, fetch_options.sets, self._spec_version)
168+
rbs_change_number = None
161169

162170
query, extra_headers = build_fetch(change_number, fetch_options, self._metadata, rbs_change_number)
163171
response = await self._client.get(

splitio/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '10.2.0'
1+
__version__ = '10.3.0-rc2'

0 commit comments

Comments
 (0)