def stream_gen(f, flag=False):
def decorator(*args, **kwargs):
def SEE(ctx):
for i in ctx:
if flag:
data = to_json(
{
'status': exceptions.OK,
'msg': None,
'data': i,
}
)
else:
data = str(i)
ev = ServerSentEvent(data)
yield ev.encode()
rf = f(*args, **kwargs)
if isinstance(rf, types.GeneratorType):
return Response(stream_with_context(SEE(rf)), mimetype="text/event-stream")
else:
raise exceptions.InternalError
return decorator
评论列表
文章目录