dify_bot.py里面_parse_sse_event 方法增加 json.decoder.JSONDecodeError的处理 (#10)

master
fengyingbanbo 2024-04-09 21:23:43 +08:00 committed by GitHub
parent a689fdf2ce
commit 7329ed833d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 13 additions and 3 deletions

View File

@ -207,9 +207,19 @@ class DifyBot(Bot):
event_prefix = "data: "
if not event_str.startswith(event_prefix):
return None
trimed_event_str = event_str[len(event_prefix):]
event = json.loads(trimed_event_str)
return event
trimmed_event_str = event_str[len(event_prefix):]
# Check if trimmed_event_str is not empty and is a valid JSON string
if trimmed_event_str:
try:
event = json.loads(trimmed_event_str)
return event
except json.JSONDecodeError:
logger.error(f"Failed to decode JSON from SSE event: {trimmed_event_str}")
return None
else:
logger.warn("Received an empty SSE event.")
return None
# TODO: 异步返回events
def _handle_sse_response(self, response: requests.Response):