crumbblock_post_handbuch.md

📦 Crumbforest Blockly-API Handbuch


🔍 Ziel

Sende aus dem Terminal-Container (robot@...) einen Blockly-Code-Schnipsel an die CakePHP-API im App-Container.


🧨 Problem

Wenn du im Terminal-Container curl http://localhost/crumbapi/blockly-terminal verwendest, bekommst du:

curl: (7) Failed to connect to localhost port 80: Connection refused

Grund: Der App-Server läuft nicht im gleichen Container, sondern separat.


✅ Lösungsmöglichkeiten

🟩 Option 1: Zugriff über Container-Name (empfohlen bei Docker bridge Netzwerk)

Ersetze localhost im curl-Befehl durch den Containernamen:

curl -X POST http://kuchenwald_docker_php83_sql_mit_auth_mit_composer_update_v1_rcv06-app-1/crumbapi/blockly-terminal      -H "Content-Type: application/json"      -d '{"blockcode": "window.alert(\"test\")"}'

🟦 Option 2: Zugriff über host.docker.internal (nur unter macOS/Windows)

curl -X POST http://host.docker.internal:8080/crumbapi/blockly-terminal      -H "Content-Type: application/json"      -d '{"blockcode": "window.alert(\"test\")"}'

🧪 Erwartete Antwort

{
  "status": "success",
  "message": "Blockcode received.",
  "received": "window.alert("test")"
}

🎯 Integration ins Missionszentrum (mission_selector_mission_1.sh)

Passe den Abschnitt case 4) folgendermaßen an:

4)
    echo ""
    echo "📡 Sende Beispielcode an Crumbforest API..."
    curl -s -X POST http://kuchenwald_docker_php83_sql_mit_auth_mit_composer_update_v1_rcv06-app-1/crumbapi/blockly-terminal          -H "Content-Type: application/json"          -d '{"blockcode": "window.alert(\"test\")"}'
    ;;

🧁 Hinweis für die Ausgabe

Wenn der curl-Befehl erfolgreich war und -s (silent) verwendet wurde, erscheint keine sichtbare Antwort.
Wenn du die Rückmeldung sehen willst, entferne das -s in curl.


🕊️ Krümelkommunikation funktioniert, wenn die Container sich zuhören.