core/services/inbox/sse.py

15 lines
563 B
Python
Raw Normal View History

2022-12-06 08:44:29 +00:00
from sse_starlette.sse import EventSourceResponse
2022-12-06 11:58:52 +00:00
from starlette.requests import Request
2022-12-12 08:03:48 +00:00
from resolvers.inbox.messages import message_generator
2022-12-06 11:58:52 +00:00
from base.exceptions import Unauthorized
2022-12-06 08:44:29 +00:00
2022-12-12 08:17:59 +00:00
def sse_messages(request: Request):
2022-12-12 08:03:48 +00:00
print(f'[SSE] {request.scope}') # FIXME: DOES NOT HAPPEN TO BE CALLED
2022-12-06 08:44:29 +00:00
# https://github.com/enisdenjo/graphql-sse/blob/master/PROTOCOL.md
2022-12-06 11:58:52 +00:00
if request['user']:
2022-12-12 08:03:48 +00:00
event_generator = message_generator(None, request.scope)
return EventSourceResponse(event_generator)
2022-12-06 11:58:52 +00:00
else:
raise Unauthorized("Please login")