Files
egutierrez a03675113a chore: auto-commit (286 archivos)
- .claude/agents/fn-orquestador/SKILL.md
- .claude/commands/fn_claude.md
- .claude/rules/INDEX.md
- .claude/rules/cpp_apps.md
- .claude/rules/ids_naming.md
- CHANGELOG.md
- apps/dag_engine/README.md
- apps/dag_engine/api.go
- apps/dag_engine/dags_migrated/example.yaml
- apps/dag_engine/dags_migrated/example_lineage_tracking.yaml
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 16:33:22 +02:00

1.9 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
http_download_file function py infra 1.0.0 impure http_download_file(url: str, dest_path: str, headers: dict[str, str] | None = None, timeout: float = 120.0, chunk_size: int = 8192) -> dict Descarga un archivo por HTTP en streaming (sin cargar todo en memoria). Crea directorios intermedios si no existen. Retorna dict con path, size_bytes y content_type.
http
download
file
streaming
network
stdlib
infra
pendiente-usar
extractor
false error_go_core
os
urllib.error
urllib.request
name desc
url URL del archivo a descargar
name desc
dest_path ruta destino donde guardar el archivo descargado
name desc
headers diccionario opcional de headers HTTP personalizados
name desc
timeout timeout en segundos para la descarga (defecto 120.0)
name desc
chunk_size tamaño en bytes de cada chunk descargado (defecto 8192)
diccionario con keys path, size_bytes y content_type true
mock de descarga con contenido binario
directorio destino creado automaticamente
retorno con size correcto
timeout configurado en el request
python/functions/infra/http_download_file_test.py python/functions/infra/http_download_file.py

Ejemplo

result = http_download_file(
    "https://example.com/report.pdf",
    dest_path="/tmp/reports/report.pdf",
    timeout=60.0,
)
print(f"Downloaded {result['size_bytes']} bytes to {result['path']}")

Notas

Solo usa stdlib (urllib, os). La descarga se hace en chunks de chunk_size bytes para evitar consumo de memoria con archivos grandes. El timeout de 120s por defecto es mayor que http_get_json porque los archivos pueden ser pesados. Los directorios intermedios se crean con os.makedirs(exist_ok=True).