RESTler (GUI API Client)
Phase 1 — Core request handling
- Implement functions to make HTTP requests with different methods (
GET,POST,PUT,DELETE). - Accept user-defined URL, headers, and payload.
- Handle errors: invalid URLs, timeouts, network failures.
Functional result: user can run requests programmatically, and the function returns the response (status code + body) reliably.
Phase 2 — Minimal GUI
- Tkinter window with input fields for: URL, method, headers, payload.
- Submit button triggers the HTTP request and displays the response.
- Display response status code and body in a scrollable text area.
Functional result: user can enter request parameters, click “Send,” and see the response displayed clearly.
Phase 3 — History feature
- Track all requests made during the session: method, URL, headers, payload, and response.
- Allow user to select a previous request to re-send or view its response.
- Save history to a local file for persistence across sessions.
Functional result: user can view past requests, replay them, and retain history after closing/reopening the app.
Phase 4 — Robustness & polish
- Validate input fields (e.g., URL format, proper JSON payload).
- Handle edge cases (empty headers, large payloads).
- Ensure GUI updates smoothly after each request.
Functional result: program runs reliably; GUI remains responsive; user sees meaningful messages for errors; history updates correctly; input validation prevents crashes.