add mock server (#214)

This commit is contained in:
Yufan Song
2024-03-26 13:15:20 -07:00
committed by GitHub
parent 02a0367757
commit 9ab15b3287
2 changed files with 39 additions and 0 deletions

10
opendevin/mock/README.md Normal file
View File

@@ -0,0 +1,10 @@
# OpenDevin mock server
This is a simple mock server to facilitate development in the frontend.
## Start the Server
```
python -m pip install -r requirements.txt
python listen.py
```
Then open the frontend to connect to the mock server. It will simply reply to every received message.

29
opendevin/mock/listen.py Normal file
View File

@@ -0,0 +1,29 @@
import uvicorn
from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
# send message to mock connection
await websocket.send_json({"action": "initialize", "message": "Control loop started."})
try:
while True:
# receive message
data = await websocket.receive_json()
print(f"Received message: {data}")
# send mock response to client
response = {"message": f"receive {data}"}
await websocket.send_json(response)
print(f"Sent message: {response}")
except Exception as e:
print(f"WebSocket Error: {e}")
@app.get("/")
def read_root():
return {"message": "This is a mock server"}
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=3000)