send_http_request
std::send_http_request effettua una richiesta HTTP all'URL specificato ed
esporta la risposta.
Input
| Nome | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|
url | obbligatorio | string | L'URL per la richiesta. Gli schemi supportati sono http e https |
body | facoltativo | string | Il corpo della richiesta come stringa o oggetto JSON |
method | facoltativo | string | Il metodo HTTP per la richiesta. Metodi consentiti: GET, HEAD, POST |
timeout_ms | facoltativo | integer | Il timeout della richiesta in millisecondi |
headers | facoltativo | object | Una mappa di nomi e valori dei campi dell'intestazione della richiesta |
pre_condition | facoltativo | map | Pre-condizioni valutate prima dell'esecuzione di un comando |
post_condition | facoltativo | map | Post-condizioni valutate dopo l'esecuzione di un comando |
Pre-condizioni
Le pre-condizioni sono asserzioni valutate prima dell'esecuzione di un comando. Possono essere utilizzate per determinare se il comando deve essere eseguito o se un comportamento specifico deve essere attivato in base al risultato dell'asserzione.
| Proprietà | Descrizione |
|---|---|
behavior | Il comportamento nel caso in cui l'asserzione della pre-condizione non venga soddisfatta. Opzioni: halt (predefinito), log, skip |
assertion | L'asserzione da verificare. Deve restituire un valore booleano o utilizzare std::assert_eq e funzioni simili |
Post-condizioni
Le post-condizioni sono asserzioni valutate dopo l'esecuzione di un comando. Possono essere utilizzate per determinare se il comando deve essere rieseguito.
| Proprietà | Descrizione |
|---|---|
retries | Numero di volte in cui rieseguire il comando se l'asserzione fallisce. Predefinito: 0 |
backoff_ms | Millisecondi di attesa prima della riesecuzione. Predefinito: 1000 |
behavior | Il comportamento se l'asserzione della post-condizione non viene soddisfatta. Opzioni: halt (predefinito), log, skip, continue |
assertion | L'asserzione da verificare |
Output
Quando l'azione send_http_request viene eseguita con successo, i seguenti
output vengono allegati all'azione:
| Nome | Tipo | Descrizione |
|---|---|---|
response_body | string | Il corpo della risposta restituito come stringa |
status_code | integer | Il codice di stato della risposta HTTP |
Esempio
action "example" "std::send_http_request" {url = "https://example.com"}output "status" {value = action.example.status_code}// > status: 200
Esempio di richiesta 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}}
Richiesta con autenticazione
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?