send_http_request
std::send_http_request realiza una solicitud HTTP a la URL indicada y exporta
la respuesta.
Entradas
| Nombre | Requerido | Tipo | Descripción |
|---|---|---|---|
url | requerido | string | La URL de la solicitud. Los esquemas admitidos son http y https |
body | opcional | string | El cuerpo de la solicitud como cadena de texto u objeto JSON |
method | opcional | string | El método HTTP de la solicitud. Métodos permitidos: GET, HEAD, POST |
timeout_ms | opcional | integer | El tiempo de espera de la solicitud en milisegundos |
headers | opcional | object | Un mapa de nombres y valores de campos de encabezado de la solicitud |
pre_condition | opcional | map | Pre-condiciones que se evalúan antes de ejecutar un comando |
post_condition | opcional | map | Post-condiciones que se evalúan después de ejecutar un comando |
Pre-condiciones
Las pre-condiciones son aserciones que se evalúan antes de ejecutar un comando. Se pueden usar para determinar si el comando debe ejecutarse o si un comportamiento específico debe ejecutarse según el resultado de la aserción.
| Propiedad | Descripción |
|---|---|
behavior | El comportamiento si la aserción de pre-condición no se cumple. Opciones: halt (predeterminado), log, skip |
assertion | La aserción a verificar. Debe evaluarse como un booleano o usar std::assert_eq y funciones similares |
Post-condiciones
Las post-condiciones son afirmaciones que se evalúan después de ejecutar un comando. Pueden utilizarse para determinar si el comando debe volver a ejecutarse.
| Propiedad | Descripción |
|---|---|
retries | Número de veces que se vuelve a ejecutar el comando si la afirmación falla. Valor predeterminado: 0 |
backoff_ms | Milisegundos de espera antes de volver a ejecutar. Valor predeterminado: 1000 |
behavior | El comportamiento si la afirmación de la post-condición no se cumple. Opciones: halt (predeterminado), log, skip, continue |
assertion | La afirmación a verificar |
Salidas
Cuando la acción send_http_request se ejecuta correctamente, las siguientes
salidas se adjuntan a la acción:
| Nombre | Tipo | Descripción |
|---|---|---|
response_body | string | El cuerpo de la respuesta devuelto como cadena de texto |
status_code | integer | El código de estado de la respuesta HTTP |
Ejemplo
action "example" "std::send_http_request" {url = "https://example.com"}output "status" {value = action.example.status_code}// > status: 200
Ejemplo de solicitud POST
action "create_resource" "std::send_http_request" {description = "Create a new resource"url = "https://api.example.com/resources"method = "POST"headers = {"Content-Type" = "application/json"}body = {"name" = variable.name,"value" = variable.value}}
Solicitud con autenticación
action "api_call" "std::send_http_request" {description = "Fetch data from API"url = "https://api.example.com/data"method = "GET"headers = {"Authorization" = "Bearer ${variable.token}"}}output "response" {value = action.api_call.response_body}output "status" {value = action.api_call.status_code}
Is this page helpful?