Solana documentatieInfrastructure als CodeStandaardbibliotheek

HTTP-acties

send_http_request

std::send_http_request verstuurt een HTTP-verzoek naar de opgegeven URL en exporteert het antwoord.

Invoer

NaamVereistTypeBeschrijving
urlvereiststringDe URL voor het verzoek. Ondersteunde schema's zijn http en https
bodyoptioneelstringDe verzoekinhoud als tekenreeks of JSON-object
methodoptioneelstringDe HTTP-methode voor het verzoek. Toegestane methoden: GET, HEAD, POST
timeout_msoptioneelintegerDe time-out voor het verzoek in milliseconden
headersoptioneelobjectEen toewijzing van veldnamen en waarden van verzoekheaders
pre_conditionoptioneelmapVoorwaarden die worden geëvalueerd voordat een opdracht wordt uitgevoerd
post_conditionoptioneelmapNawaarden die worden geëvalueerd nadat een opdracht is uitgevoerd

Voorwaarden

Voorwaarden zijn beweringen die worden geëvalueerd voordat een opdracht wordt uitgevoerd. Ze kunnen worden gebruikt om te bepalen of de opdracht moet worden uitgevoerd of dat een specifiek gedrag moet worden uitgevoerd op basis van het resultaat van de bewering.

EigenschapBeschrijving
behaviorHet gedrag als de voorwaardebewering niet slaagt. Opties: halt (standaard), log, skip
assertionDe bewering om te controleren. Moet resulteren in een boolean of gebruik maken van std::assert_eq en vergelijkbare functies

Post-condities

Post-condities zijn assertions die worden geëvalueerd nadat een commando is uitgevoerd. Ze kunnen worden gebruikt om te bepalen of het commando opnieuw uitgevoerd moet worden.

EigenschapBeschrijving
retriesAantal keren dat het commando opnieuw wordt uitgevoerd als de assertion mislukt. Standaard: 0
backoff_msMilliseconden te wachten voor opnieuw uitvoeren. Standaard: 1000
behaviorHet gedrag als de post-conditie assertion niet slaagt. Opties: halt (standaard), log, skip, continue
assertionDe assertion om te controleren

Uitvoer

Wanneer de send_http_request actie succesvol is uitgevoerd, worden de volgende uitvoergegevens aan de actie gekoppeld:

NaamTypeBeschrijving
response_bodystringDe antwoordtekst teruggegeven als string
status_codeintegerDe HTTP-antwoordstatuscode

Voorbeeld

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

POST-verzoek voorbeeld

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

Verzoek met authenticatie

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?

Inhoudsopgave

Pagina Bewerken
© 2026 Solana Foundation. Alle rechten voorbehouden.