Documentazione SolanaInfrastruttura come codiceLibreria Standard

Azioni HTTP

send_http_request

std::send_http_request effettua una richiesta HTTP all'URL specificato ed esporta la risposta.

Input

NomeObbligatorioTipoDescrizione
urlobbligatoriostringL'URL per la richiesta. Gli schemi supportati sono http e https
bodyfacoltativostringIl corpo della richiesta come stringa o oggetto JSON
methodfacoltativostringIl metodo HTTP per la richiesta. Metodi consentiti: GET, HEAD, POST
timeout_msfacoltativointegerIl timeout della richiesta in millisecondi
headersfacoltativoobjectUna mappa di nomi e valori dei campi dell'intestazione della richiesta
pre_conditionfacoltativomapPre-condizioni valutate prima dell'esecuzione di un comando
post_conditionfacoltativomapPost-condizioni valutate dopo l'esecuzione di un comando

Pre-condizioni

Le pre-condizioni sono asserzioni valutate prima dell'esecuzione di un comando. Possono essere utilizzate per determinare se il comando deve essere eseguito o se un comportamento specifico deve essere attivato in base al risultato dell'asserzione.

ProprietàDescrizione
behaviorIl comportamento nel caso in cui l'asserzione della pre-condizione non venga soddisfatta. Opzioni: halt (predefinito), log, skip
assertionL'asserzione da verificare. Deve restituire un valore booleano o utilizzare std::assert_eq e funzioni simili

Post-condizioni

Le post-condizioni sono asserzioni valutate dopo l'esecuzione di un comando. Possono essere utilizzate per determinare se il comando deve essere rieseguito.

ProprietàDescrizione
retriesNumero di volte in cui rieseguire il comando se l'asserzione fallisce. Predefinito: 0
backoff_msMillisecondi di attesa prima della riesecuzione. Predefinito: 1000
behaviorIl comportamento se l'asserzione della post-condizione non viene soddisfatta. Opzioni: halt (predefinito), log, skip, continue
assertionL'asserzione da verificare

Output

Quando l'azione send_http_request viene eseguita con successo, i seguenti output vengono allegati all'azione:

NomeTipoDescrizione
response_bodystringIl corpo della risposta restituito come stringa
status_codeintegerIl codice di stato della risposta HTTP

Esempio

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

Esempio di richiesta 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
}
}

Richiesta con autenticazione

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?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.