#!/bin/bash
# ==============================================================================
# Arthas MCP 服务状态健康检查脚本
# ==============================================================================
HTTP_PORT="${1:-8563}"
AUTH_PASSWORD="${2:-arthas123}"
URL="http://localhost:${HTTP_PORT}/mcp"

echo ">> 正在检查 Arthas MCP 端点: ${URL} ..."

HEADER_ARGS=()
if [[ -n "${AUTH_PASSWORD}" ]]; then
    HEADER_ARGS+=(-H "Authorization: Bearer ${AUTH_PASSWORD}")
fi

if ! command -v curl &>/dev/null; then
    echo "❌ 错误: 未找到 curl 工具。"
    exit 1
fi

HTTP_STATUS=$(curl --noproxy "*" -s -o /tmp/arthas_mcp_check.out -w "%{http_code}" "${HEADER_ARGS[@]}" "${URL}" || echo "000")

if [[ "${HTTP_STATUS}" == "000" ]]; then
    echo "❌ 无法连接到 ${URL}，服务未启动或端口被防火墙拦截。"
    exit 1
else
    echo "✅ 服务连通成功！HTTP 状态码: ${HTTP_STATUS}"
    echo "响应头预览："
    curl --noproxy "*" -sI "${HEADER_ARGS[@]}" "${URL}" | head -n 10
fi
