#!/usr/bin/env bash
# diagnose.sh -- diagnosis berlapis untuk layanan HTTP lokal
# pemakaian: bash diagnose.sh [host:port]   (bawaan 127.0.0.1:8765)
url=${1:-127.0.0.1:8765}
port=${url##*:}

echo "== lapis 1: berkas layanan =="
if [ -f index.html ]; then
    echo "OK: index.html ada"
else
    echo "GAGAL: index.html tidak ada"
fi

echo "== lapis 2: port =="
if ss -tln | grep -q ":$port "; then
    echo "OK: ada yang mendengarkan di port $port"
else
    echo "GAGAL: tidak ada pendengar di port $port"
fi

echo "== lapis 3: jawaban layanan =="
if curl -s --max-time 2 -o /dev/null "$url"; then
    echo "OK: layanan menjawab"
else
    echo "GAGAL: tidak ada jawaban (kode keluar $?)"
fi
