Solana-DokumentationInfrastructure as CodeStandardbibliothek

HTTP-Aktionen

send_http_request

std::send_http_request sendet eine HTTP-Anfrage an die angegebene URL und gibt die Antwort zurück.

Eingaben

NameErforderlichTypBeschreibung
urlerforderlichstringDie URL für die Anfrage. Unterstützte Schemas: http und https
bodyoptionalstringDer Anfrage-Body als Zeichenkette oder JSON-Objekt
methodoptionalstringDie HTTP-Methode für die Anfrage. Erlaubte Methoden: GET, HEAD, POST
timeout_msoptionalintegerDas Anfrage-Timeout in Millisekunden
headersoptionalobjectEine Zuordnung von Anfrage-Header-Feldnamen und -Werten
pre_conditionoptionalmapVorbedingungen, die vor der Ausführung eines Befehls ausgewertet werden
post_conditionoptionalmapNachbedingungen, die nach der Ausführung eines Befehls ausgewertet werden

Vorbedingungen

Vorbedingungen sind Assertions, die vor der Ausführung eines Befehls ausgewertet werden. Sie können verwendet werden, um zu bestimmen, ob der Befehl ausgeführt werden soll oder ob ein bestimmtes Verhalten basierend auf dem Ergebnis der Assertion ausgeführt werden soll.

EigenschaftBeschreibung
behaviorDas Verhalten, wenn die Vorbedingungs-Assertion nicht erfüllt wird. Optionen: halt (Standard), log, skip
assertionDie zu prüfende Assertion. Sollte einen booleschen Wert ergeben oder std::assert_eq und ähnliche Funktionen verwenden

Nachbedingungen

Nachbedingungen sind Aussagen, die nach der Ausführung eines Befehls ausgewertet werden. Sie können verwendet werden, um zu bestimmen, ob der Befehl erneut ausgeführt werden soll.

EigenschaftBeschreibung
retriesAnzahl der Wiederholungen des Befehls, wenn die Aussage fehlschlägt. Standard: 0
backoff_msMillisekunden, die vor der erneuten Ausführung gewartet werden sollen. Standard: 1000
behaviorDas Verhalten, wenn die Nachbedingung nicht erfüllt wird. Optionen: halt (Standard), log, skip, continue
assertionDie zu prüfende Aussage

Ausgaben

Wenn die Aktion send_http_request erfolgreich ausgeführt wurde, werden der Aktion die folgenden Ausgaben hinzugefügt:

NameTypBeschreibung
response_bodystringDer zurückgegebene Antwort-Body als Zeichenkette
status_codeintegerDer HTTP-Antwortstatuscode

Beispiel

action "example" "std::send_http_request" {
url = "https://example.com"
}
output "status" {
value = action.example.status_code
}
// > status: 200

POST-Anfrage-Beispiel

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
}
}

Anfrage mit Authentifizierung

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?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.