egutierrez
a3a263702b
feat(cpp/core): add http_request + http_get_json helpers (issue 0110)
...
Promotes the inline curl-popen pattern duplicated across apps/services_monitor,
dag_engine_ui, data_factory into two reusable functions in cpp/functions/core/:
- http_request_cpp_core: generic HTTP client (GET/POST/PUT/DELETE/PATCH) via
cURL CLI through popen. Portable Linux/WSL/MinGW (no link-time libcurl).
Supports custom headers, raw body, Bearer/Basic auth shortcuts, timeout,
optional TLS verify skip. Returns status/body/headers/error/duration_ms.
- http_get_json_cpp_core: convenience wrapper over http_request — GET <url>,
expect 2xx, parse body as nlohmann::json. Throws std::runtime_error on
transport / non-2xx / parse failure.
Vendors nlohmann/json v3.11.3 single header at cpp/vendor/nlohmann/json.hpp
(MIT). No CMake target needed — header-only; consumers add
cpp/vendor/ to include path.
2026-05-18 18:14:37 +02:00
..
2026-05-17 02:44:04 +02:00
2026-04-28 22:05:31 +02:00
2026-04-28 23:40:51 +02:00
2026-05-17 02:44:04 +02:00
2026-05-17 02:44:04 +02:00
2026-05-17 02:44:04 +02:00
2026-05-04 11:50:57 +02:00
2026-05-04 11:50:57 +02:00
2026-05-14 00:28:20 +02:00
2026-05-03 00:32:55 +02:00
2026-04-25 21:25:51 +02:00
2026-04-28 23:40:51 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-04-24 14:52:09 +02:00
2026-04-24 14:52:09 +02:00
2026-04-28 23:42:35 +02:00
2026-04-25 21:50:29 +02:00
2026-04-25 21:50:29 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:25:39 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-04-28 23:42:35 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-04-28 23:44:55 +02:00
2026-05-17 00:07:03 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-24 14:52:09 +02:00
2026-04-24 14:52:09 +02:00
2026-04-28 23:42:35 +02:00
2026-04-28 23:53:49 +02:00
2026-04-28 23:53:49 +02:00
2026-04-28 23:53:49 +02:00
2026-04-28 23:55:11 +02:00
2026-04-28 23:55:11 +02:00
2026-04-28 23:55:11 +02:00
2026-04-06 23:46:36 +02:00
2026-04-06 23:46:36 +02:00
2026-05-14 00:28:20 +02:00
2026-04-24 21:31:00 +02:00
2026-04-08 01:17:44 +02:00
2026-04-28 23:40:51 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-18 18:14:37 +02:00
2026-05-18 18:14:37 +02:00
2026-05-18 18:14:37 +02:00
2026-05-18 18:14:37 +02:00
2026-04-25 21:25:39 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-05-16 16:33:22 +02:00
2026-04-25 21:25:25 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:25:25 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-04-25 21:25:51 +02:00
2026-04-25 21:25:51 +02:00
2026-05-14 00:28:20 +02:00
2026-05-10 13:30:27 +02:00
2026-05-10 13:30:27 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 11:50:57 +02:00
2026-04-25 21:25:51 +02:00
2026-04-28 23:40:51 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-04 11:50:57 +02:00
2026-05-04 11:50:57 +02:00
2026-05-04 11:50:57 +02:00
2026-05-04 11:50:57 +02:00
2026-05-04 11:50:57 +02:00
2026-05-04 11:50:57 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-11 16:28:50 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:25:39 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-04-25 21:51:15 +02:00
2026-04-25 21:51:15 +02:00
2026-04-28 23:40:51 +02:00
2026-04-24 14:52:09 +02:00
2026-04-24 14:52:09 +02:00
2026-04-28 23:42:35 +02:00
2026-04-25 21:25:51 +02:00
2026-04-25 21:25:51 +02:00
2026-04-28 23:40:51 +02:00
2026-05-04 11:52:50 +02:00
2026-05-04 11:52:50 +02:00
2026-05-14 00:28:20 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-28 23:53:08 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:53:08 +02:00
2026-04-28 23:52:37 +02:00
2026-04-28 23:52:37 +02:00
2026-04-28 23:52:37 +02:00
2026-04-25 21:25:39 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-05-04 11:50:57 +02:00
2026-05-04 11:50:57 +02:00
2026-05-14 00:28:20 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 11:52:50 +02:00
2026-05-04 11:52:50 +02:00
2026-05-14 00:28:20 +02:00
2026-04-28 23:58:40 +02:00
2026-04-28 23:51:23 +02:00
2026-04-28 23:51:23 +02:00
2026-04-28 23:51:59 +02:00
2026-04-25 21:48:50 +02:00
2026-05-14 00:28:20 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:00:31 +02:00
2026-04-25 21:00:31 +02:00
2026-04-28 23:40:51 +02:00
2026-04-25 21:25:39 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:50:35 +02:00
2026-04-25 21:50:35 +02:00
2026-05-14 00:28:20 +02:00
2026-05-05 23:12:50 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-05-12 03:10:00 +02:00
2026-04-25 21:14:15 +02:00
2026-04-28 23:44:55 +02:00
2026-04-25 21:25:39 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-05-15 17:24:53 +02:00
2026-05-17 00:07:03 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-15 17:24:53 +02:00
2026-05-17 00:07:03 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-05-16 16:33:22 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-05-14 00:28:20 +02:00
2026-04-25 21:25:39 +02:00
2026-04-25 21:25:39 +02:00
2026-04-28 23:42:35 +02:00
2026-04-25 21:50:21 +02:00
2026-04-25 21:50:21 +02:00
2026-04-28 23:44:55 +02:00