from __future__ import annotations import json from http import HTTPStatus class HeavenHttpMixin: def heaven_hexagram(self) -> None: try: body = self.read_json_body() result = self.application_service.heaven_hexagram(body.get("lines")) self.send_json({"ok": True, "hexagram": result}) except (ValueError, json.JSONDecodeError) as exc: self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST) def heaven_personal(self) -> None: try: body = self.read_json_body() result = self.application_service.heaven_personal(body) self.send_json({"ok": True, "personal": result}) except (ValueError, json.JSONDecodeError) as exc: self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST) def heaven_interpret(self) -> None: try: body = self.read_json_body() result = self.application_service.heaven_interpret(body) self.send_json({"ok": True, **result}) except (ValueError, json.JSONDecodeError) as exc: self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)