/** * Tribufu API * REST API to access Tribufu services. * * The version of the OpenAPI document: 1.1.0 * Contact: contact@tribufu.com * * NOTE: This class is auto generated by OpenAPI-Generator 7.12.0. * https://openapi-generator.tech * Do not edit the class manually. */ /* * ApiClient.h * * This is an API client responsible for stating the HTTP calls */ #ifndef TRIBUFU_API_ApiClient_H_ #define TRIBUFU_API_ApiClient_H_ #include "tribufu++/ApiConfiguration.h" #include "tribufu++/ApiException.h" #include "tribufu++/HttpContent.h" #include "tribufu++/IHttpBody.h" #if defined(_WIN32) || defined(_WIN64) #undef U #endif #include <cpprest/details/basic_types.h> #include <cpprest/http_client.h> #include <functional> #include <memory> #include <vector> namespace tribufu { namespace api { using namespace tribufu::models; class ApiClient { public: ApiClient(std::shared_ptr<const ApiConfiguration> configuration = nullptr); virtual ~ApiClient(); typedef std::function<void(web::http::status_code, const web::http::http_headers &)> ResponseHandlerType; const ResponseHandlerType &getResponseHandler() const; void setResponseHandler(const ResponseHandlerType &responseHandler); std::shared_ptr<const ApiConfiguration> getConfiguration() const; void setConfiguration(std::shared_ptr<const ApiConfiguration> configuration); static utility::string_t parameterToString(utility::string_t value); static utility::string_t parameterToString(int32_t value); static utility::string_t parameterToString(int64_t value); static utility::string_t parameterToString(float value); static utility::string_t parameterToString(double value); static utility::string_t parameterToString(const utility::datetime &value); static utility::string_t parameterToString(bool value); template <class T> static utility::string_t parameterToString(const std::vector<T> &value); template <class T> static utility::string_t parameterToString(const std::shared_ptr<T> &value); pplx::task<web::http::http_response> callApi( const utility::string_t &path, const utility::string_t &method, const std::map<utility::string_t, utility::string_t> &queryParams, const std::shared_ptr<IHttpBody> postBody, const std::map<utility::string_t, utility::string_t> &headerParams, const std::map<utility::string_t, utility::string_t> &formParams, const std::map<utility::string_t, std::shared_ptr<HttpContent>> &fileParams, const utility::string_t &contentType) const; protected: ResponseHandlerType m_ResponseHandler; std::shared_ptr<const ApiConfiguration> m_Configuration; }; template <class T> utility::string_t ApiClient::parameterToString(const std::vector<T> &value) { utility::stringstream_t ss; for (size_t i = 0; i < value.size(); i++) { if (i > 0) ss << utility::conversions::to_string_t(", "); ss << ApiClient::parameterToString(value[i]); } return ss.str(); } template <class T> utility::string_t ApiClient::parameterToString(const std::shared_ptr<T> &value) { return parameterToString(*value.get()); } } } #endif /* TRIBUFU_API_ApiClient_H_ */