Documentation SolanaInfrastructure en tant que codeBibliothèque standard

Actions HTTP

send_http_request

std::send_http_request effectue une requête HTTP vers l'URL donnée et exporte la réponse.

Entrées

NomRequisTypeDescription
urlrequisstringL'URL de la requête. Les schémas pris en charge sont http et https
bodyoptionnelstringLe corps de la requête sous forme de chaîne ou d'objet JSON
methodoptionnelstringLa méthode HTTP de la requête. Méthodes autorisées : GET, HEAD, POST
timeout_msoptionnelintegerLe délai d'expiration de la requête en millisecondes
headersoptionnelobjectUne table des noms et valeurs des champs d'en-tête de la requête
pre_conditionoptionnelmapPré-conditions évaluées avant l'exécution d'une commande
post_conditionoptionnelmapPost-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
behaviorLe comportement si l'assertion de pré-condition échoue. Options : halt (par défaut), log, skip
assertionL'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
retriesNombre de fois où la commande doit être réexécutée si l'assertion échoue. Par défaut : 0
backoff_msMillisecondes à attendre avant de réexécuter. Par défaut : 1000
behaviorLe comportement si l'assertion post-condition n'est pas satisfaite. Options : halt (par défaut), log, skip, continue
assertionL'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 :

NomTypeDescription
response_bodystringLe corps de la réponse retourné sous forme de chaîne
status_codeintegerLe 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?

Table des matières

Modifier la page
© 2026 Fondation Solana. Tous droits réservés.