send_http_request
std::send_http_request effectue une requête HTTP vers l'URL donnée et exporte
la réponse.
Entrées
| Nom | Requis | Type | Description |
|---|---|---|---|
url | requis | string | L'URL de la requête. Les schémas pris en charge sont http et https |
body | optionnel | string | Le corps de la requête sous forme de chaîne ou d'objet JSON |
method | optionnel | string | La méthode HTTP de la requête. Méthodes autorisées : GET, HEAD, POST |
timeout_ms | optionnel | integer | Le délai d'expiration de la requête en millisecondes |
headers | optionnel | object | Une table des noms et valeurs des champs d'en-tête de la requête |
pre_condition | optionnel | map | Pré-conditions évaluées avant l'exécution d'une commande |
post_condition | optionnel | map | Post-conditions évaluées après l'exécution d'une commande |
Pré-conditions
Les pré-conditions sont des assertions évaluées avant l'exécution d'une commande. Elles peuvent être utilisées pour déterminer si la commande doit être exécutée ou si un comportement spécifique doit être appliqué en fonction du résultat de l'assertion.
| Propriété | Description |
|---|---|
behavior | Le comportement si l'assertion de pré-condition échoue. Options : halt (par défaut), log, skip |
assertion | L'assertion à vérifier. Doit s'évaluer à un booléen ou utiliser std::assert_eq et des fonctions similaires |
Post-conditions
Les post-conditions sont des assertions évaluées après l'exécution d'une commande. Elles peuvent être utilisées pour déterminer si la commande doit être réexécutée.
| Propriété | Description |
|---|---|
retries | Nombre de fois où la commande doit être réexécutée si l'assertion échoue. Par défaut : 0 |
backoff_ms | Millisecondes à attendre avant de réexécuter. Par défaut : 1000 |
behavior | Le comportement si l'assertion post-condition n'est pas satisfaite. Options : halt (par défaut), log, skip, continue |
assertion | L'assertion à vérifier |
Sorties
Lorsque l'action send_http_request est exécutée avec succès, les sorties
suivantes sont associées à l'action :
| Nom | Type | Description |
|---|---|---|
response_body | string | Le corps de la réponse retourné sous forme de chaîne |
status_code | integer | Le code de statut HTTP de la réponse |
Exemple
action "example" "std::send_http_request" {url = "https://example.com"}output "status" {value = action.example.status_code}// > status: 200
Exemple de requête 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}}
Requête avec authentification
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?