Skip to content

Commit 324b130

Browse files
committed
feat: add switch control when watching events whether deserialization is required
1 parent d80165d commit 324b130

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

kubernetes/base/watch/watch.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,19 @@ def stream(self, func, *args, **kwargs):
172172
# We want to ensure we are returning within that timeout.
173173
disable_retries = ('timeout_seconds' in kwargs)
174174
retry_after_410 = False
175+
deserialize = kwargs.pop('deserialize', True)
175176
while True:
176177
resp = func(*args, **kwargs)
177178
try:
178179
for line in iter_resp_lines(resp):
179180
# unmarshal when we are receiving events from watch,
180181
# return raw string when we are streaming log
181182
if watch_arg == "watch":
182-
event = self.unmarshal_event(line, return_type)
183+
if deserialize:
184+
event = self.unmarshal_event(line, return_type)
185+
else:
186+
# Only do basic JSON parsing, no deserialize
187+
event = json.loads(line)
183188
if isinstance(event, dict) \
184189
and event['type'] == 'ERROR':
185190
obj = event['raw_object']

0 commit comments

Comments
 (0)