File size: 455 Bytes
233feb1
70dbc85
233feb1
 
dff2e80
233feb1
8fc4ed2
 
233feb1
 
 
 
70dbc85
 
8fc4ed2
 
70dbc85
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from typing import Union
from fastapi.websockets import WebSocket, WebSocketDisconnect

class Accelerator:
  ws: Union[WebSocket, None] = None

  def connected(self): return self.ws != None

  async def connect(self, ws: WebSocket):
    await ws.accept()
    self.ws = ws

  async def accelerate(self, input):    
    try:
      await self.ws.send_text(input)
      return await self.ws.receive_text()
    except WebSocketDisconnect:
      self.ws = None