From 80a54e26311aa3ebca46f3db4ad1358d8bfacb28 Mon Sep 17 00:00:00 2001 From: sesky4 Date: Thu, 10 Oct 2024 15:17:28 +0800 Subject: [PATCH 1/2] fix: sse message parser If value starts with a U+0020 SPACE character, remove it from value. --- tencentcloud/common/abstract_client.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tencentcloud/common/abstract_client.py b/tencentcloud/common/abstract_client.py index 636b2524..bbe5eadb 100644 --- a/tencentcloud/common/abstract_client.py +++ b/tencentcloud/common/abstract_client.py @@ -384,6 +384,9 @@ def _process_response_sse(resp): colon_idx = line.find(':') key = line[:colon_idx] val = line[colon_idx + 1:] + # If value starts with a U+0020 SPACE character, remove it from value. + if val[0] == " ": + val = val[1:] if key == 'data': # The spec allows for multiple data fields per event, concatenated them with "\n". if 'data' not in e: From d4aa1c9896accd7676e8b95a820dfe78133a6895 Mon Sep 17 00:00:00 2001 From: sesky4 Date: Thu, 10 Oct 2024 15:25:37 +0800 Subject: [PATCH 2/2] Update abstract_client.py --- tencentcloud/common/abstract_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tencentcloud/common/abstract_client.py b/tencentcloud/common/abstract_client.py index bbe5eadb..99a4c226 100644 --- a/tencentcloud/common/abstract_client.py +++ b/tencentcloud/common/abstract_client.py @@ -385,7 +385,7 @@ def _process_response_sse(resp): key = line[:colon_idx] val = line[colon_idx + 1:] # If value starts with a U+0020 SPACE character, remove it from value. - if val[0] == " ": + if val and val[0] == " ": val = val[1:] if key == 'data': # The spec allows for multiple data fields per event, concatenated them with "\n".