Explorar o código

fix event/stream ping (#3553)

liuzhenghua hai 1 ano
pai
achega
e02ee3bb2e
Modificáronse 1 ficheiros con 8 adicións e 2 borrados
  1. 8 2
      api/core/app/apps/base_app_generate_response_converter.py

+ 8 - 2
api/core/app/apps/base_app_generate_response_converter.py

@@ -26,7 +26,10 @@ class AppGenerateResponseConverter(ABC):
             else:
                 def _generate():
                     for chunk in cls.convert_stream_full_response(response):
-                        yield f'data: {chunk}\n\n'
+                        if chunk == 'ping':
+                            yield f'event: {chunk}\n\n'
+                        else:
+                            yield f'data: {chunk}\n\n'
 
                 return _generate()
         else:
@@ -35,7 +38,10 @@ class AppGenerateResponseConverter(ABC):
             else:
                 def _generate():
                     for chunk in cls.convert_stream_simple_response(response):
-                        yield f'data: {chunk}\n\n'
+                        if chunk == 'ping':
+                            yield f'event: {chunk}\n\n'
+                        else:
+                            yield f'data: {chunk}\n\n'
 
                 return _generate()