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.