Express app that calls external APIs — useful for demonstrating proxymock record, mock, and replay.
/— generic response/models— top downloaded models from Hugging Face/models/:org/:model— details for a specific model (e.g./models/deepseek-ai/DeepSeek-R1)/llm/models— LLM model catalog and pricing from OpenRouter/nasa— NASA astronomy picture of the day/events— recent GitHub events for the Speedscale org
graph LR
Client -->|:3000| node-server
node-server --> HuggingFace["huggingface.co"]
node-server --> OpenRouter["openrouter.ai"]
node-server --> NASA["api.nasa.gov"]
node-server --> GitHub["api.github.com"]
npm install
npm start
# node-server listening on port 3000
curl localhost:3000/models | jq '.[0].id'
curl localhost:3000/llm/models | jq '.data[0].id'
curl localhost:3000/nasa | jq .titleCapture all outbound API calls while using the app:
graph LR
Client -->|:4143| proxymock-in
proxymock-in --> node-server
node-server --> proxymock-out[":4140"]
proxymock-out --> HuggingFace
proxymock-out --> OpenRouter
proxymock-out --> NASA
proxymock-out --> GitHub
proxymock-out -.->|saved to disk| files["proxymock/demo/"]
proxymock record --out proxymock/demo -- npm start
# hit some endpoints
curl localhost:4143/models
curl localhost:4143/llm/models
curl localhost:4143/nasa
curl localhost:4143/events
# ctrl-c to stopRun the app with recorded responses instead of real APIs:
graph LR
Client -->|:3000| node-server
node-server -->|:4140| proxymock-mock
proxymock-mock -.->|reads from| files["proxymock/demo/"]
proxymock mock --in proxymock/demo -- npm start
curl localhost:3000/models # served from recorded data
curl localhost:3000/nasa # no real API callsTurn recorded traffic into a load test:
npm start &
proxymock replay --in proxymock/demo --test-against http://localhost:3000
# concurrent users
proxymock replay --in proxymock/demo --test-against http://localhost:3000 --vus 10
# CI gate
proxymock replay --in proxymock/demo --test-against http://localhost:3000 \
--fail-if "requests.failed!=0"