#!/usr/bin/env bash

# Хук запуска сервера VS Code в WSL.
# Загружает приватные переменные окружения и настраивает прокси, если доступен hproxy.local.

secrets_file="$HOME/.env.secrets"

warn() {
    printf 'server-env-setup: %s\n' "$1" >&2
}

# 1. Загрузка приватных секретов (API ключи и т.д.)
if [ -f "$secrets_file" ]; then
    # shellcheck disable=SC1090
    if ! source "$secrets_file"; then
        warn "warning: не удалось загрузить $secrets_file"
    fi
fi

# 2. Автоматическая настройка прокси, если hproxy.local резолвится
# Используем getent, так как имя может быть в /etc/hosts или в DNS (режим mirror)
if getent hosts hproxy.local >/dev/null 2>&1; then
    proxy_url="http://hproxy.local:12334"
    
    export HTTP_PROXY="$proxy_url"
    export HTTPS_PROXY="$proxy_url"
    export ALL_PROXY="socks5://hproxy.local:12334"
    # Список обязан совпадать с выдачей proxy-client (DEFAULT_NO_PROXY_EXTRA);
    # расхождение ловит tests/test_proxy_env_sync.py.
    export NO_PROXY="hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru,dementev.space,.dementev.space"
    
    # Дублируем в нижнем регистре для лучшей совместимости с инструментами
    export http_proxy="$HTTP_PROXY"
    export https_proxy="$HTTPS_PROXY"
    export all_proxy="$ALL_PROXY"
    export no_proxy="$NO_PROXY"
fi

return 0 2>/dev/null || exit 0
