From d117493ff5f629dfb6f44daf5a389ec956699e49 Mon Sep 17 00:00:00 2001 From: tonyrewin Date: Mon, 12 Dec 2022 11:03:48 +0300 Subject: [PATCH] sse-endpoint --- main.py | 4 ++-- server.py | 2 +- services/inbox/sse.py | 7 ++++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index d16ddc33..ece4afaf 100644 --- a/main.py +++ b/main.py @@ -21,7 +21,7 @@ from services.zine.gittask import GitTask from settings import DEV_SERVER_STATUS_FILE_NAME, SENTRY_DSN # from sse.transport import GraphQLSSEHandler # from services.inbox.presence import on_connect, on_disconnect -# from services.inbox.sse import sse_messages +from services.inbox.sse import sse_messages import_module("resolvers") @@ -68,7 +68,7 @@ routes = [ Route("/oauth/{provider}", endpoint=oauth_login), Route("/oauth-authorize", endpoint=oauth_authorize), Route("/confirm/{token}", endpoint=confirm_email_handler), - # Route("/messages", endpoint=sse_messages) + Route("/messages", endpoint=sse_messages) ] app = Starlette( diff --git a/server.py b/server.py index f7cc4188..191aad64 100644 --- a/server.py +++ b/server.py @@ -85,7 +85,7 @@ if __name__ == "__main__": headers=local_headers, # log_config=log_settings, log_level=None, - access_log=False, + access_log=True, reload=want_reload ) # , ssl_keyfile="discours.key", ssl_certfile="discours.crt") elif x == "migrate": diff --git a/services/inbox/sse.py b/services/inbox/sse.py index e3dde165..8333dd25 100644 --- a/services/inbox/sse.py +++ b/services/inbox/sse.py @@ -1,13 +1,14 @@ from sse_starlette.sse import EventSourceResponse from starlette.requests import Request -from resolvers.inbox.messages import messages_generator_by_user +from resolvers.inbox.messages import message_generator from base.exceptions import Unauthorized async def sse_messages(request: Request): - print(f'[SSE] {request.scope}') + print(f'[SSE] {request.scope}') # FIXME: DOES NOT HAPPEN TO BE CALLED # https://github.com/enisdenjo/graphql-sse/blob/master/PROTOCOL.md if request['user']: - return EventSourceResponse(messages_generator_by_user(request['user'].user_id)) + event_generator = message_generator(None, request.scope) + return EventSourceResponse(event_generator) else: raise Unauthorized("Please login")