send_http_request
std::send_http_request faz uma requisição HTTP para a URL fornecida e exporta
a resposta.
Entradas
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
url | obrigatório | string | A URL para a requisição. Esquemas suportados: http e https |
body | opcional | string | O corpo da requisição como string ou objeto JSON |
method | opcional | string | O método HTTP para a requisição. Métodos permitidos: GET, HEAD, POST |
timeout_ms | opcional | integer | O tempo limite da requisição em milissegundos |
headers | opcional | object | Um mapa de nomes e valores de campos do cabeçalho da requisição |
pre_condition | opcional | map | Pré-condições avaliadas antes da execução de um comando |
post_condition | opcional | map | Pó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.
| Propriedade | Descrição |
|---|---|
behavior | O comportamento caso a afirmação da pré-condição não seja satisfeita. Opções: halt (padrão), log, skip |
assertion | A 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.
| Propriedade | Descrição |
|---|---|
retries | Número de vezes para reexecutar o comando se a asserção falhar. Padrão: 0 |
backoff_ms | Milissegundos a aguardar antes de reexecutar. Padrão: 1000 |
behavior | O comportamento caso a asserção de pós-condição não seja aprovada. Opções: halt (padrão), log, skip, continue |
assertion | A 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:
| Nome | Tipo | Descrição |
|---|---|---|
response_body | string | O corpo da resposta retornado como string |
status_code | integer | O 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?