1cdbe1bcd1
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.
837 B
837 B
nlohmann/json
Single-header JSON library. Vendored for cpp/functions/core/http_get_json and
future C++ functions that need JSON serialization without an extra dependency.
- Source: https://github.com/nlohmann/json
- Version: v3.11.3
- File:
json.hpp(amalgamated single header) - License: MIT
- Download:
curl -L -o json.hpp https://github.com/nlohmann/json/releases/download/v3.11.3/json.hpp
Include with:
#include "nlohmann/json.hpp"
using json = nlohmann::json;
Include path: cpp/vendor/ (so nlohmann/json.hpp resolves). Tests +
fn_framework already have cpp/vendor/ on the include search path via the
top-level cpp/CMakeLists.txt (vendor/nlohmann is header-only so it does
NOT need a CMake target — just target_include_directories(<t> PRIVATE ${CMAKE_SOURCE_DIR}/vendor)).