# ApiClient prototype
This is a prototype implementation of an ApiClient library for the ConfigDB, written in C++.
It is designed to work as a [itk-felix-sw](https://gitlab.cern.ch/itk-felix-sw/itk-felix-sw/) package.

# Minimal working product v0.1 
v0.1 demonstrates the basic functionality of fetching example module configurations.
The flow is as follows:
- An application (e.g. a test program) uses the ConfigDBInterface class to request module configurations.
- The ConfigDBInterface uses the ApiClient to send HTTP requests to the API server.
- The ApiClient uses the HttpClient to perform the actual HTTP communication.
- The HttpClient uses an underlying HTTP library (e.g., libcurl) to send requests and receive responses.
- The received JSON responses are parsed back into C++ data structures using nlohmann::json.
  
Both directions are possible: C++ -> JSON (for requests) and JSON -> C++ (for responses).

The corresponding test fastAPI server: 
https://gitlab.cern.ch/flhaslbe/testFastApi/-/tree/0.1?ref_type=tags