/* * ApiClient.h * * This is an API client responsible for stating the HTTP calls */ #ifndef ApiClient_H_ #define ApiClient_H_ #include "ApiConfiguration.h" #include "ApiException.h" #include "IHttpBody.h" #include "HttpContent.h" #include #include #include #include namespace io { namespace swagger { namespace client { namespace api { using namespace io::swagger::client::model; class ApiClient { public: ApiClient( std::shared_ptr configuration = nullptr ); virtual ~ApiClient(); std::shared_ptr getConfiguration() const; void setConfiguration(std::shared_ptr 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); template static utility::string_t parameterToArrayString(std::vector value) { utility::stringstream_t ss; for( size_t i = 0; i < value.size(); i++) { if( i > 0) ss << U(", "); ss << ApiClient::parameterToString(value[i]); } return ss.str(); } pplx::task callApi( const utility::string_t& path, const utility::string_t& method, const std::map& queryParams, const std::shared_ptr postBody, const std::map& headerParams, const std::map& formParams, const std::map>& fileParams, const utility::string_t& contentType ) const; protected: std::shared_ptr m_Configuration; }; } } } } #endif /* ApiClient_H_ */