1.7 KiB
1.7 KiB
ToDo 5 — API und Antwortlogik
Ziel der Verbesserung
Die Schnittstellen sollen klar und vorhersagbar antworten. Steuerbefehle brauchen eigene Antwortpfade, und Status-/Positionsergebnisse müssen eindeutig getrennt werden.
Aufgaben
- WebSocket-Antwortlogik strukturieren
- Steuerbefehle erhalten gezielte Responses
Ping,M114, Statusabfragen und Fehlermeldungen getrennt behandeln- →
server/InputWS.jsals klarer Router;Ping/M114antworten gezielt an den Anfrager
- Broadcasts nur dort verwenden, wo sie sinnvoll sind
- Broadcasts für Status-Updates, nicht für direkte Steuerantworten
- → Bewegung (G-Code) broadcastet die neue Position;
Ping/M114sind gezielt
InfoServerum detaillierte Statusinformationen erweitern- Senderverbindungen · Health-Checks · letzte Befehle / Pings
- → bereits in ToDo 2 angelegt; ergänzt um Top-Level
health-Summary +generatedAt
- API-Endpunkte klar dokumentieren
/api/status·/api/position- →
doc/API.md
- Fehlermeldungen konsistent und maschinenlesbar machen
- → einheitliches Fehler-Envelope
{ type, code, message, input }(UNKNOWN_COMMAND/GCODE_ERROR/FILE_ERROR)
- → einheitliches Fehler-Envelope
Tests
test/InputWS.api.test.js— gezielte vs. Broadcast-Antworten, Fehler-Envelopetest/InfoServer.test.js— Health-Summary +generatedAt
Bewusst nicht in diesem ToDo
- Feinere Zielsteuerung der Datei-Befehle (z. B.
FShownur an Anfrager) undFFirst/FLast→ gehören zur Datei-Verwaltung in ToDo 4. - Erfolgs-Payloads (
Ping, Positions-JSON) bleiben aus Rückwärtskompatibilität im Rohformat (externe Clients: Simulation/Gamepad); nur Fehler nutzen das Envelope.