Τεκμηρίωση SolanaΥποδομή ως ΚώδικαςΤυπική Βιβλιοθήκη

Ενέργειες HTTP

send_http_request

std::send_http_request πραγματοποιεί ένα αίτημα HTTP στο δεδομένο URL και εξάγει την απόκριση.

Είσοδοι

ΌνομαΑπαιτείταιΤύποςΠεριγραφή
urlαπαιτείταιstringΤο URL για το αίτημα. Υποστηριζόμενα σχήματα είναι http και https
bodyπροαιρετικόstringΤο σώμα του αιτήματος ως συμβολοσειρά ή αντικείμενο json
methodπροαιρετικόstringΗ μέθοδος HTTP για το αίτημα. Επιτρεπόμενες μέθοδοι: GET, HEAD, POST
timeout_msπροαιρετικόintegerΤο χρονικό όριο αιτήματος σε χιλιοστά του δευτερολέπτου
headersπροαιρετικόobjectΈνας χάρτης ονομάτων και τιμών πεδίων κεφαλίδας αιτήματος
pre_conditionπροαιρετικόmapΠροϋποθέσεις που αξιολογούνται πριν από την εκτέλεση μιας εντολής
post_conditionπροαιρετικόmapΜεταϋποθέσεις που αξιολογούνται μετά την εκτέλεση μιας εντολής

Προϋποθέσεις

Οι προϋποθέσεις είναι ισχυρισμοί που αξιολογούνται πριν από την εκτέλεση μιας εντολής. Μπορούν να χρησιμοποιηθούν για να προσδιοριστεί εάν η εντολή πρέπει να εκτελεστεί ή εάν κάποια συγκεκριμένη συμπεριφορά πρέπει να εκτελεστεί με βάση το αποτέλεσμα του ισχυρισμού.

ΙδιότηταΠεριγραφή
behaviorΗ συμπεριφορά εάν ο ισχυρισμός προϋπόθεσης δεν περάσει. Επιλογές: halt (προεπιλογή), log, skip
assertionΟ ισχυρισμός προς έλεγχο. Θα πρέπει να αξιολογείται σε boolean ή να χρησιμοποιεί std::assert_eq και παρόμοιες συναρτήσεις

Μεταϋποθέσεις

Οι μεταϋποθέσεις είναι ισχυρισμοί που αξιολογούνται μετά την εκτέλεση μιας εντολής. Μπορούν να χρησιμοποιηθούν για να καθοριστεί αν η εντολή πρέπει να εκτελεστεί εκ νέου.

ΙδιότηταΠεριγραφή
retriesΑριθμός επαναλήψεων εκτέλεσης της εντολής αν ο ισχυρισμός αποτύχει. Προεπιλογή: 0
backoff_msΧιλιοστά του δευτερολέπτου αναμονής πριν την επανεκτέλεση. Προεπιλογή: 1000
behaviorΗ συμπεριφορά αν ο ισχυρισμός μεταϋπόθεσης δεν περάσει. Επιλογές: halt (προεπιλογή), log, skip, continue
assertionΟ ισχυρισμός προς έλεγχο

Έξοδοι

Όταν η ενέργεια send_http_request εκτελείται με επιτυχία, οι ακόλουθες έξοδοι επισυνάπτονται στην ενέργεια:

ΌνομαΤύποςΠεριγραφή
response_bodystringΤο σώμα απόκρισης που επιστρέφεται ως συμβολοσειρά
status_codeintegerΟ κωδικός κατάστασης απόκρισης HTTP

Παράδειγμα

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

Παράδειγμα Αιτήματος 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
}
}

Αίτημα με Έλεγχο Ταυτότητας

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?

Πίνακας Περιεχομένων

Επεξεργασία Σελίδας
© 2026 Ίδρυμα Solana. Με επιφύλαξη παντός δικαιώματος.