Documentação SolanaInfraestrutura como CódigoBiblioteca Padrão

Ações HTTP

send_http_request

std::send_http_request faz uma requisição HTTP para a URL fornecida e exporta a resposta.

Entradas

NomeObrigatórioTipoDescrição
urlobrigatóriostringA URL para a requisição. Esquemas suportados: http e https
bodyopcionalstringO corpo da requisição como string ou objeto JSON
methodopcionalstringO método HTTP para a requisição. Métodos permitidos: GET, HEAD, POST
timeout_msopcionalintegerO tempo limite da requisição em milissegundos
headersopcionalobjectUm mapa de nomes e valores de campos do cabeçalho da requisição
pre_conditionopcionalmapPré-condições avaliadas antes da execução de um comando
post_conditionopcionalmapPós-condições avaliadas após a execução de um comando

Pré-condições

Pré-condições são afirmações avaliadas antes da execução de um comando. Podem ser usadas para determinar se o comando deve ser executado ou se um comportamento específico deve ser executado com base no resultado da afirmação.

PropriedadeDescrição
behaviorO comportamento caso a afirmação da pré-condição não seja satisfeita. Opções: halt (padrão), log, skip
assertionA afirmação a ser verificada. Deve retornar um booleano ou usar std::assert_eq e funções similares

Pós-condições

Pós-condições são asserções que são avaliadas após a execução de um comando. Podem ser usadas para determinar se o comando deve ser reexecutado.

PropriedadeDescrição
retriesNúmero de vezes para reexecutar o comando se a asserção falhar. Padrão: 0
backoff_msMilissegundos a aguardar antes de reexecutar. Padrão: 1000
behaviorO comportamento caso a asserção de pós-condição não seja aprovada. Opções: halt (padrão), log, skip, continue
assertionA asserção a verificar

Saídas

Quando a ação send_http_request é executada com sucesso, as seguintes saídas são associadas à ação:

NomeTipoDescrição
response_bodystringO corpo da resposta retornado como string
status_codeintegerO código de status HTTP da resposta

Exemplo

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

Exemplo de Requisição 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
}
}

Requisição com Autenticação

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?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.