File tree Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Original file line number Diff line number Diff line change
1
+ import uvicorn
2
+ from fastapi import FastAPI , WebSocket
3
+
4
+ from rsocket .helpers import create_future
5
+ from rsocket .local_typing import Awaitable
6
+ from rsocket .payload import Payload
7
+ from rsocket .request_handler import BaseRequestHandler
8
+ from rsocket .rsocket_server import RSocketServer
9
+ from rsocket .transports .http3_transport import Http3TransportWebsocket
10
+
11
+ app = FastAPI ()
12
+
13
+
14
+ class Handler (BaseRequestHandler ):
15
+
16
+ async def request_response (self , payload : Payload ) -> Awaitable [Payload ]:
17
+ return create_future (Payload (b'pong' ))
18
+
19
+
20
+ @app .websocket ("/" )
21
+ async def endpoint (websocket : WebSocket ):
22
+ await websocket .accept ()
23
+ transport = Http3TransportWebsocket (websocket )
24
+ RSocketServer (transport = transport )
25
+ await transport .wait_for_disconnect ()
26
+
27
+
28
+ if __name__ == "__main__" :
29
+ uvicorn .run (app , host = "0.0.0.0" , port = 6565 )
Original file line number Diff line number Diff line change @@ -52,4 +52,6 @@ gql==3.5.1
52
52
websockets == 15.0 ; python_version > "3.8"
53
53
websockets == 13.1 ; python_version == "3.8"
54
54
55
- asyncwebsockets == 0.9.4
55
+ asyncwebsockets == 0.9.4
56
+
57
+ fastapi == 0.115.11
You can’t perform that action at this time.
0 commit comments