send_http_request
std::send_http_request wykonuje żądanie HTTP do podanego adresu URL i
eksportuje odpowiedź.
Dane wejściowe
| Nazwa | Wymagane | Typ | Opis |
|---|---|---|---|
url | wymagane | string | Adres URL żądania. Obsługiwane schematy to http i https |
body | opcjonalne | string | Treść żądania jako ciąg znaków lub obiekt JSON |
method | opcjonalne | string | Metoda HTTP żądania. Dozwolone metody: GET, HEAD, POST |
timeout_ms | opcjonalne | integer | Limit czasu żądania w milisekundach |
headers | opcjonalne | object | Mapa nazw i wartości pól nagłówka żądania |
pre_condition | opcjonalne | map | Warunki wstępne oceniane przed wykonaniem polecenia |
post_condition | opcjonalne | map | Warunki końcowe oceniane po wykonaniu polecenia |
Warunki wstępne
Warunki wstępne to asercje oceniane przed wykonaniem polecenia. Mogą być używane do określenia, czy polecenie powinno zostać wykonane, lub czy określone zachowanie powinno być wywołane na podstawie wyniku asercji.
| Właściwość | Opis |
|---|---|
behavior | Zachowanie, gdy asercja warunku wstępnego nie jest spełniona. Opcje: halt (domyślnie), log, skip |
assertion | Asercja do sprawdzenia. Powinna zwracać wartość logiczną lub używać std::assert_eq i podobnych funkcji |
Warunki końcowe
Warunki końcowe to asercje, które są sprawdzane po wykonaniu polecenia. Można je wykorzystać do określenia, czy polecenie powinno zostać wykonane ponownie.
| Właściwość | Opis |
|---|---|
retries | Liczba ponownych wykonań polecenia w przypadku niepowodzenia asercji. Domyślnie: 0 |
backoff_ms | Liczba milisekund oczekiwania przed ponownym wykonaniem. Domyślnie: 1000 |
behavior | Zachowanie w przypadku niespełnienia asercji warunku końcowego. Opcje: halt (domyślnie), log, skip, continue |
assertion | Asercja do sprawdzenia |
Dane wyjściowe
Po pomyślnym wykonaniu akcji send_http_request do akcji dołączane są
następujące dane wyjściowe:
| Nazwa | Typ | Opis |
|---|---|---|
response_body | string | Treść odpowiedzi zwrócona jako ciąg znaków |
status_code | integer | Kod statusu odpowiedzi HTTP |
Przykład
action "example" "std::send_http_request" {url = "https://example.com"}output "status" {value = action.example.status_code}// > status: 200
Przykład żądania 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}}
Żądanie z uwierzytelnianiem
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?