# shellcheck    shell=dash disable=SC2154,SC2034

xrc ccmd

___x_cmd_bwh_api(){
    local veid=
    local apikey=
    # x bwh cfg var veid apikey
    ___x_cmd_bwh_cur  veid:= apikey:=  2>/dev/null
    # ___x_cmd bwh current veid:= apikey:=
    set -- "$@" veid="$veid" api_key="$apikey"
    ___x_cmd_bwh_curl_cache "$@"
}

___x_cmd_bwh_curl_cache(){
    if [ -z "$___X_CMD_BWH_API_CACHE" ]; then           ___x_cmd_bwh_curl "$@"
    else     ___x_cmd ccmd "$___X_CMD_BWH_API_CACHE" -- ___x_cmd_bwh_curl "$@"
    fi
}

# Wget actually is sufficient for this
___x_cmd_bwh_curl(){
    local apiname="${1}"; shift

    local url="https://api.64clouds.com/v1/${apiname}"

    local args="x curl --fail -s"

    ___x_cmd bwh current proxy:=
    [ -z "$proxy" ] || {
        args="$args -x \"\$proxy\""
    }

    local i=1; while [ "$i" -le $# ]; do
        args="$args --data-urlencode \"\$$i\""
        i=$((i+1))
    done
    args="$args \"\$url\""

    # eval "echo $args" >&2
    bwh:debug "curl code ==> $args"
    eval "$args"

    # x curl --fail -s \
    #     --data-urlencode veid="${veid}"         \
    #     --data-urlencode api_key="${apikey}"    \
    #     "$url"
}
