Skip to content

Commit

Permalink
add mock server (All-Hands-AI#214)
Browse files Browse the repository at this point in the history
  • Loading branch information
yufansong authored Mar 26, 2024
1 parent 02a0367 commit 9ab15b3
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
10 changes: 10 additions & 0 deletions opendevin/mock/README.md
Original file line number Diff line number Diff line change
@@ -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 changes: 29 additions & 0 deletions opendevin/mock/listen.py
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 9ab15b3

Please sign in to comment.