#!/bin/bash

# 定义 Flask 服务地址（根据实际情况修改）
FLASK_URL="http://localhost:8899/dynamic"

# 1. 选择请求方式
echo "请选择请求方式："
select METHOD in "GET" "POST" "PUT" "DELETE"; do
    if [[ -n $METHOD ]]; then
        break
    else
        echo "请输入 1-4 之间的数字"
    fi
done

# 2. 处理参数逻辑（这里模拟你的 num=1 和 cmd 需求）
PARAMS=""
if [[ $METHOD == "GET" || $METHOD == "PUT" || $METHOD == "DELETE" ]]; then
    # 如果是这些方法，默认带 num=1（可根据需求调整）
    PARAMS="?num=1"
elif [[ $METHOD == "POST" ]]; then
    # POST 方法让用户选是否传命令
    echo "是否需要执行命令？(y/n)"
    read EXEC_CMD
    if [[ $EXEC_CMD == "y" ]]; then
        echo "请输入要执行的 Linux 命令："
        read CMD
        # 用 JSON 传参（也可改成 form 格式）
        PAYLOAD="{\"cmd\": \"$CMD\"}"
    else
        # 不传命令时也带 num=1（可根据需求调整）
        PAYLOAD="{\"num\": \"1\"}"
    fi
fi

# 3. 拼接 curl 命令并执行
echo "即将执行的请求："
if [[ $METHOD == "POST" ]]; then
    curl_command="curl -X $METHOD $FLASK_URL \
      -H \"Content-Type: application/json\" \
      -d '$PAYLOAD'"
else
    curl_command="curl -X $METHOD $FLASK_URL$PARAMS"
fi

echo "$curl_command"
echo "------------------------"

# 执行请求
eval $curl_command
