Files
fn_registry/python/functions/infra/http_post_json.md
T
egutierrez 5f4f1f7508 docs: params/output semántico en 506 funciones para composabilidad
Añade campos params y output al frontmatter YAML de las 506 funciones del registry.
Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico)
y cada función describe qué produce su output. Permite a agentes razonar sobre
cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
2026-04-05 18:45:16 +02:00

1.6 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_post_json function py infra 1.0.0 impure http_post_json(url: str, body: dict, headers: dict[str, str] | None = None, timeout: float = 30.0) -> dict POST request con body JSON. Agrega Content-Type: application/json y Accept: application/json. Lanza RuntimeError si status >= 400 con status code, url truncada y primeros 200 chars del body.
http
json
post
client
network
stdlib
infra
false error_go_core
json
urllib.error
urllib.request
name desc
url URL destino para la solicitud POST
name desc
body diccionario a serializar como JSON en el body
name desc
headers diccionario opcional de headers HTTP personalizados
name desc
timeout timeout en segundos para la solicitud (defecto 30.0)
diccionario con la respuesta JSON parseada true
mock de POST con body serializado correctamente
mock de respuesta 201
mock de respuesta 500 → error
body con unicode
python/functions/infra/http_post_json_test.py python/functions/infra/http_post_json.py

Ejemplo

response = http_post_json(
    "https://api.example.com/users",
    body={"name": "Alice", "role": "admin"},
    headers={"X-Api-Key": "secret"},
)
print(response["id"])

Notas

Solo usa stdlib (urllib). El body se serializa con json.dumps(ensure_ascii=False) y se codifica a UTF-8. Headers custom se fusionan con Content-Type y Accept por defecto (los custom tienen precedencia).