{{>licenseInfo}} /* * ApiClient.h * * This is an API client responsible for stating the HTTP calls */ #ifndef ApiClient_H_ #define ApiClient_H_ {{{defaultInclude}}} #include "ApiConfiguration.h" #include "ApiException.h" #include "IHttpBody.h" #include "HttpContent.h" #include #include #include #include {{#apiNamespaceDeclarations}} namespace {{this}} { {{/apiNamespaceDeclarations}} using namespace {{modelNamespace}}; class {{declspec}} 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); static utility::string_t parameterToString(float value); static utility::string_t parameterToString(const utility::datetime &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; }; {{#apiNamespaceDeclarations}} } {{/apiNamespaceDeclarations}} #endif /* ApiClient_H_ */