Skip to content

Latest commit

 

History

History
executable file
·
41 lines (37 loc) · 1.12 KB

File metadata and controls

executable file
·
41 lines (37 loc) · 1.12 KB

from fastapi import FastAPI, WebSocket from fastapi.responses import HTMLResponse

app = FastAPI()

html = """

<title>WebSocket Test</title>

WebSocket Echo

<textarea id="log" rows="10" cols="30"></textarea>
Send <script> var ws = new WebSocket("ws://localhost:8000/ws"); ws.onmessage = function(event) { document.getElementById('log').value += event.data + '\\n'; }; function sendMessage() { var input = document.getElementById("messageInput"); ws.send(input.value); input.value = ''; } </script> """

@app.get("/") async def get(): return HTMLResponse(html)

@app.websocket("/ws") async def websocket_endpoint(websocket: WebSocket): await websocket.accept() while True: data = await websocket.receive_text() await websocket.send_text(f"Echo: {data}")