Tài liệu SolanaCơ sở hạ tầng dưới dạng mãThư Viện Chuẩn

Hành động HTTP

send_http_request

std::send_http_request thực hiện một yêu cầu HTTP đến URL đã cho và xuất phản hồi.

Đầu vào

TênBắt buộcKiểuMô tả
urlbắt buộcstringURL cho yêu cầu. Các giao thức được hỗ trợ là http và https
bodytùy chọnstringNội dung yêu cầu dưới dạng chuỗi hoặc đối tượng json
methodtùy chọnstringPhương thức HTTP cho yêu cầu. Các phương thức được phép: GET, HEAD, POST
timeout_mstùy chọnintegerThời gian chờ yêu cầu tính bằng mili giây
headerstùy chọnobjectBản đồ tên và giá trị các trường tiêu đề yêu cầu
pre_conditiontùy chọnmapĐiều kiện tiên quyết được đánh giá trước khi lệnh được thực thi
post_conditiontùy chọnmapĐiều kiện hậu kỳ được đánh giá sau khi lệnh được thực thi

Điều kiện tiên quyết

Điều kiện tiên quyết là các xác nhận được đánh giá trước khi một lệnh được thực thi. Chúng có thể được sử dụng để xác định liệu lệnh có nên được thực thi hay không, hoặc liệu một hành vi cụ thể có nên được thực thi dựa trên kết quả của xác nhận đó hay không.

Thuộc tínhMô tả
behaviorHành vi nếu xác nhận điều kiện tiên quyết không thỏa mãn. Tùy chọn: halt (mặc định), log, skip
assertionXác nhận cần kiểm tra. Phải đánh giá thành boolean hoặc sử dụng std::assert_eq và các hàm tương tự

Điều kiện hậu

Điều kiện hậu là các xác nhận được đánh giá sau khi một lệnh được thực thi. Chúng có thể được sử dụng để xác định xem lệnh có cần được thực thi lại hay không.

Thuộc tínhMô tả
retriesSố lần thực thi lại lệnh nếu xác nhận thất bại. Mặc định: 0
backoff_msMili giây chờ trước khi thực thi lại. Mặc định: 1000
behaviorHành vi nếu xác nhận điều kiện hậu không đạt. Tùy chọn: halt (mặc định), log, skip, continue
assertionXác nhận cần kiểm tra

Đầu ra

Khi hành động send_http_request được thực thi thành công, các đầu ra sau đây được gắn vào hành động:

TênKiểuMô tả
response_bodystringNội dung phản hồi được trả về dưới dạng chuỗi
status_codeintegerMã trạng thái phản hồi HTTP

Ví dụ

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

Ví dụ yêu cầu 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
}
}

Yêu cầu có xác thực

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?

Mục lục

Chỉnh sửa trang