mirror of
https://github.com/tribufu/sdk-cpp
synced 2025-06-15 11:24:18 +00:00
107 lines
3.6 KiB
C++
107 lines
3.6 KiB
C++
/**
|
|
* 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.14.0-SNAPSHOT.
|
|
* 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"
|
|
#include "tribufu++/ModelBase.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);
|
|
static utility::string_t parameterToString(const ModelBase &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_ */
|