Skip to main content
Commit40c424b8b3c2
23 lines · 800 BBlameRaw
import json
from http.server import BaseHTTPRequestHandler, HTTPServer

def transition(task, status):
    if status not in {"todo", "in_progress", "done"}:
        raise ValueError("Unknown task status")
    return {**task, "status": status}

class Handler(BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path != "/tasks":
            self.send_error(404)
            return
        payload = json.dumps([{"id": "task-1", "title": "Review the demo", "status": "todo"}]).encode()
        self.send_response(200)
        self.send_header("Content-Type", "application/json")
        self.send_header("Content-Length", str(len(payload)))
        self.end_headers()
        self.wfile.write(payload)

if __name__ == "__main__":
    HTTPServer(("127.0.0.1", 8080), Handler).serve_forever()