Solana-dokumentaatioInfrastruktuuri koodinaVakiokirjasto

HTTP-toiminnot

send_http_request

std::send_http_request tekee HTTP-pyynnön annettuun URL-osoitteeseen ja vie vastauksen ulos.

Syötteet

NimiPakollinenTyyppiKuvaus
urlpakollinenstringPyynnön URL-osoite. Tuetut skeemat ovat http ja https
bodyvalinnainenstringPyynnön runko merkkijonona tai JSON-objektina
methodvalinnainenstringPyynnön HTTP-metodi. Sallitut metodit: GET, HEAD, POST
timeout_msvalinnainenintegerPyynnön aikakatkaisu millisekunteina
headersvalinnainenobjectKartta pyynnön otsikkokenttien nimistä ja arvoista
pre_conditionvalinnainenmapEsiehtojen kartta, joka arvioidaan ennen komennon suorittamista
post_conditionvalinnainenmapJälkiehtojen kartta, joka arvioidaan komennon suorittamisen jälkeen

Esiehdot

Esiehdot ovat väitteitä, jotka arvioidaan ennen komennon suorittamista. Niillä voidaan määrittää, tulisiko komento suorittaa tai tulisiko jokin tietty toimintatapa suorittaa väitteen tuloksen perusteella.

OminaisuusKuvaus
behaviorToimintatapa, jos esiehtoväite ei täyty. Vaihtoehdot: halt (oletus), log, skip
assertionTarkistettava väite. Sen tulisi palauttaa totuusarvo tai käyttää std::assert_eq-funktiota ja vastaavia funktioita

Jälkiehdot

Jälkiehdot ovat väittämiä, jotka arvioidaan komennon suorittamisen jälkeen. Niiden avulla voidaan määrittää, tulisiko komento suorittaa uudelleen.

OminaisuusKuvaus
retriesKuinka monta kertaa komento suoritetaan uudelleen, jos väittämä epäonnistuu. Oletus: 0
backoff_msMillisekuntia odotettava ennen uudelleensuoritusta. Oletus: 1000
behaviorToiminta, jos jälkiehtoväittämä ei täyty. Vaihtoehdot: halt (oletus), log, skip, continue
assertionTarkistettava väittämä

Tulosteet

Kun send_http_request-toiminto suoritetaan onnistuneesti, seuraavat tulosteet liitetään toimintoon:

NimiTyyppiKuvaus
response_bodystringVastausteksti palautettuna merkkijonona
status_codeintegerHTTP-vastauksen statuskoodi

Esimerkki

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

POST-pyyntöesimerkki

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

Pyyntö todennuksen kanssa

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?

Sisällysluettelo

Muokkaa sivua
© 2026 Solana Foundation. Kaikki oikeudet pidätetään.