File tree Expand file tree Collapse file tree
examples/python-starlette
rust/perspective-python/perspective/handlers Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1818import uvicorn
1919
2020from fastapi import FastAPI , WebSocket
21- from fastapi .middleware .cors import CORSMiddleware
2221from starlette .responses import FileResponse
2322from starlette .staticfiles import StaticFiles
2423
@@ -64,21 +63,12 @@ async def websocket_handler(websocket: WebSocket):
6463 )
6564 await handler .run ()
6665
67- # static_html_files = StaticFiles(directory="../python-tornado", html=True)
6866 static_html_files = StaticFiles (directory = "../python-tornado" , html = True )
6967
7068 app = FastAPI ()
7169 app .add_api_websocket_route ("/websocket" , websocket_handler )
7270 app .get ("/node_modules/{rest_of_path:path}" )(static_node_modules_handler )
7371 app .mount ("/" , static_html_files )
74-
75- app .add_middleware (
76- CORSMiddleware ,
77- allow_origins = ["*" ],
78- allow_credentials = True ,
79- allow_methods = ["*" ],
80- allow_headers = ["*" ],
81- )
8272 return app
8373
8474
Original file line number Diff line number Diff line change @@ -37,11 +37,12 @@ class PerspectiveAIOHTTPHandler(object):
3737 def __init__ (self , ** kwargs ):
3838 self .server = kwargs .pop ("perspective_server" , perspective .GLOBAL_SERVER )
3939 self ._request = kwargs .pop ("request" )
40+ self ._loop = kwargs .pop ("loop" , asyncio .get_event_loop ())
4041 super ().__init__ (** kwargs )
4142
4243 async def run (self ) -> web .WebSocketResponse :
4344 def inner (msg ):
44- asyncio . get_running_loop () .create_task (self ._ws .send_bytes (msg ))
45+ self . _loop .create_task (self ._ws .send_bytes (msg ))
4546
4647 self .session = self .server .new_session (inner )
4748 try :
Original file line number Diff line number Diff line change @@ -34,11 +34,12 @@ class PerspectiveStarletteHandler(object):
3434 def __init__ (self , ** kwargs ):
3535 self ._server = kwargs .pop ("perspective_server" , perspective .GLOBAL_SERVER )
3636 self ._websocket = kwargs .pop ("websocket" )
37+ self ._loop = kwargs .pop ("loop" , asyncio .get_event_loop ())
3738 super ().__init__ (** kwargs )
3839
3940 async def run (self ) -> None :
4041 def inner (msg ):
41- asyncio . get_running_loop () .create_task (self ._websocket .send_bytes (msg ))
42+ self . _loop .create_task (self ._websocket .send_bytes (msg ))
4243
4344 self .session = self ._server .new_session (inner )
4445
Original file line number Diff line number Diff line change @@ -45,8 +45,9 @@ class PerspectiveTornadoHandler(WebSocketHandler):
4545 def check_origin (self , origin ):
4646 return True
4747
48- def initialize (self , perspective_server = perspective .GLOBAL_SERVER ):
48+ def initialize (self , perspective_server = perspective .GLOBAL_SERVER , loop = None ):
4949 self .server = perspective_server
50+ self .loop = loop or IOLoop .current ()
5051
5152 def open (self ):
5253 def inner (msg ):
@@ -63,4 +64,4 @@ def on_message(self, msg: bytes):
6364 return
6465
6566 self .session .handle_request (msg )
66- IOLoop . current () .call_later (0 , self .session .poll )
67+ self . loop .call_later (0 , self .session .poll )
You can’t perform that action at this time.
0 commit comments