• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ilpanich / axiam-cplusplus-sdk / 29638220555

18 Jul 2026 08:53AM UTC coverage: 91.758%. First build
29638220555

push

github

web-flow
feat: initial AXIAM C++ SDK (REST core + mTLS, CONTRACT §1–§7/§9–§11) (#1)

* feat: greenfield AXIAM C++ SDK (REST core + mTLS)

Implements the CONTRACT.md behavioral contract §1–§7, §9–§11 (including §6.1
mTLS) for C++17, built on libcurl (HTTP + strict TLS + in-memory mTLS blobs),
OpenSSL (Ed25519 JWKS verification) and a vendored single-header nlohmann/json.

- axiam::Client with fluent builder enforcing §5 tenant requirement (no default
  tenant); snake_case §1 ops (login, verify_mfa, refresh, logout, check_access,
  can, batch_check) plus authenticate_device (mTLS) and std::future *_async twins.
- §2 exception hierarchy (AxiamError -> AuthError/AuthzError/NetworkError) with
  HTTP status mapping; §3 CSRF capture+echo; §4 libcurl cookie engine; §5
  X-Tenant-ID on every request.
- §6 strict TLS always on (VERIFYPEER=1/VERIFYHOST=2, no bypass surface) with
  with_custom_ca; §6.1 mTLS via CURLOPT_*_BLOB (no temp files); §7 Sensitive<T>.
- §9 single-flight refresh (std::mutex + std::shared_future); §10/§11 guard
  functor + require_auth/require_role/require_access + AXIAM_REQUIRE_ACCESS macro.
- std::function transport seam (libcurl default, in-memory fake for tests);
  unit + real-libcurl integration tests. Logic-layer coverage ~99% lines.
- Packaging: CMake install/export + package config, CPack .tar.gz, in-repo vcpkg
  port, Conan recipe, Doxyfile, README/CHANGELOG, CI (build/test on g++ & clang,
  TLS-bypass + secret gates, packaging validation, verify-tag-on-main, release)
  and coverage (llvm-cov -> Coveralls).
- Out of scope for v1 (documented follow-ups): gRPC, §8 AMQP HMAC.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FM1xTLBaGvfUv8X3bPw6oj

* fix(build): vendor nlohmann include root so <nlohmann/json.hpp> resolves in CI

The PRIVATE include dir pointed at third_party/nlohmann while sources include
<nlohmann/json.hpp>, so the vendored single header (third_party/nlohmann/json.hpp)
n... (continued)

235 of 312 branches covered (75.32%)

Branch coverage included in aggregate %.

689 of 695 new or added lines in 7 files covered. (99.14%)

689 of 695 relevant lines covered (99.14%)

98.6 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

85.71
/src/jwks.cpp


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc