send_http_request
std::send_http_request виконує HTTP-запит до вказаного URL та експортує
відповідь.
Вхідні дані
| Назва | Обов'язковий | Тип | Опис |
|---|---|---|---|
url | обов'язковий | string | URL для запиту. Підтримувані схеми: http та https |
body | необов'язковий | string | Тіло запиту у вигляді рядка або об'єкта JSON |
method | необов'язковий | string | HTTP-метод для запиту. Дозволені методи: GET, HEAD, POST |
timeout_ms | необов'язковий | integer | Тайм-аут запиту в мілісекундах |
headers | необов'язковий | object | Карта назв і значень полів заголовка запиту |
pre_condition | необов'язковий | map | Передумови, що оцінюються перед виконанням команди |
post_condition | необов'язковий | map | Постумови, що оцінюються після виконання команди |
Передумови
Передумови — це твердження, що оцінюються перед виконанням команди. Вони можуть використовуватися для визначення того, чи слід виконувати команду, або для вибору певної поведінки на основі результату перевірки твердження.
| Властивість | Опис |
|---|---|
behavior | Поведінка, якщо перевірка передумови не пройдена. Варіанти: halt (за замовчуванням), log, skip |
assertion | Твердження для перевірки. Має повертати булеве значення або використовувати std::assert_eq та подібні функції |
Постумови
Постумови — це твердження, які перевіряються після виконання команди. Вони можуть використовуватися для визначення того, чи слід повторно виконати команду.
| Властивість | Опис |
|---|---|
retries | Кількість повторних виконань команди у разі невдалої перевірки твердження. За замовчуванням: 0 |
backoff_ms | Мілісекунди очікування перед повторним виконанням. За замовчуванням: 1000 |
behavior | Поведінка, якщо перевірка постумови не пройшла. Варіанти: halt (за замовчуванням), log, skip, continue |
assertion | Твердження для перевірки |
Виходи
Коли дію send_http_request успішно виконано, до неї прикріплюються наступні
виходи:
| Назва | Тип | Опис |
|---|---|---|
response_body | string | Тіло відповіді, повернуте у вигляді рядка |
status_code | integer | Код статусу HTTP-відповіді |
Приклад
action "example" "std::send_http_request" {url = "https://example.com"}output "status" {value = action.example.status_code}// > status: 200
Приклад 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}}
Запит з автентифікацією
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?