#!/bin/bash

# Configurações da API e dados do usuário (do test.db)
API_URL="http://localhost:8000/hmachelloworld"  # Ajuste a porta se necessário (ex: 8080)
API_USER="admin"
API_KEY="myapikey"
API_SECRET="myapisecret"

# Gera nonce (timestamp atual em segundos)
NONCE=$(date +%s)

# Para GET, body é vazio, então message = "::${NONCE}"
MESSAGE="::${NONCE}"

# Secret = API_KEY::API_SECRET
SECRET="${API_KEY}::${API_SECRET}"

# Calcula a assinatura HMAC-SHA256 (usando openssl)
SIGNATURE=$(echo -n "${MESSAGE}" | openssl dgst -sha256 -hmac "${SECRET}" | awk '{print $2}')

# Verifica se a assinatura foi gerada corretamente
if [ -z "$SIGNATURE" ]; then
    echo "Erro ao gerar assinatura HMAC."
    exit 1
fi

# Envia a requisição curl com headers
echo "Testando rota / com HMAC:"
curl -v \
    -H "x-user: ${API_USER}" \
    -H "x-nonce: ${NONCE}" \
    -H "x-signature: ${SIGNATURE}" \
    "${API_URL}"
