/** * OpenAPI Petstore * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. * * OpenAPI spec version: 1.0.0 * * NOTE: This class is auto generated by OpenAPI-Generator 3.3.0-SNAPSHOT. * https://openapi-generator.tech * Do not edit the class manually. */ #include "PetApi.h" #include "IHttpBody.h" #include "JsonBody.h" #include "MultipartFormData.h" #include #include namespace org { namespace openapitools { namespace client { namespace api { using namespace org::openapitools::client::model; PetApi::PetApi( std::shared_ptr apiClient ) : m_ApiClient(apiClient) { } PetApi::~PetApi() { } pplx::task PetApi::addPet(std::shared_ptr pet) { // verify the required parameter 'pet' is set if (pet == nullptr) { throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'pet' when calling PetApi->addPet")); } std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet"); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->addPet does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/json") ); localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/xml") ); std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); web::json::value localVarJson; localVarJson = ModelBase::toJson(pet); localVarHttpBody = std::shared_ptr( new JsonBody( localVarJson ) ); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); std::shared_ptr localVarMultipart(new MultipartFormData); if(pet.get()) { pet->toMultipart(localVarMultipart, utility::conversions::to_string_t("pet")); } localVarHttpBody = localVarMultipart; localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->addPet does not consume any supported media type")); } // authentication (petstore_auth) required // oauth2 authentication is added automatically as part of the http_client_config return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("POST"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling addPet: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling addPet: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { return void(); }); } pplx::task PetApi::deletePet(int64_t petId, boost::optional apiKey) { std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet/{petId}"); boost::replace_all(localVarPath, utility::conversions::to_string_t("{") + utility::conversions::to_string_t("petId") + utility::conversions::to_string_t("}"), ApiClient::parameterToString(petId)); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->deletePet does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; if (apiKey) { localVarHeaderParams[utility::conversions::to_string_t("api_key")] = ApiClient::parameterToString(*apiKey); } std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->deletePet does not consume any supported media type")); } // authentication (petstore_auth) required // oauth2 authentication is added automatically as part of the http_client_config return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("DELETE"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling deletePet: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling deletePet: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { return void(); }); } pplx::task>> PetApi::findPetsByStatus(std::vector status) { std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet/findByStatus"); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/xml") ); localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/json") ); utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->findPetsByStatus does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; { localVarQueryParams[utility::conversions::to_string_t("status")] = ApiClient::parameterToString(status); } std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->findPetsByStatus does not consume any supported media type")); } // authentication (petstore_auth) required // oauth2 authentication is added automatically as part of the http_client_config return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("GET"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling findPetsByStatus: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling findPetsByStatus: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { std::vector> localVarResult; if(localVarResponseHttpContentType == utility::conversions::to_string_t("application/json")) { web::json::value localVarJson = web::json::value::parse(localVarResponse); for( auto& localVarItem : localVarJson.as_array() ) { std::shared_ptr localVarItemObj(new Pet()); localVarItemObj->fromJson(localVarItem); localVarResult.push_back(localVarItemObj); } } // else if(localVarResponseHttpContentType == utility::conversions::to_string_t("multipart/form-data")) // { // TODO multipart response parsing // } else { throw ApiException(500 , utility::conversions::to_string_t("error calling findPetsByStatus: unsupported response type")); } return localVarResult; }); } pplx::task>> PetApi::findPetsByTags(std::vector tags) { std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet/findByTags"); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/xml") ); localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/json") ); utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->findPetsByTags does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; { localVarQueryParams[utility::conversions::to_string_t("tags")] = ApiClient::parameterToString(tags); } std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->findPetsByTags does not consume any supported media type")); } // authentication (petstore_auth) required // oauth2 authentication is added automatically as part of the http_client_config return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("GET"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling findPetsByTags: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling findPetsByTags: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { std::vector> localVarResult; if(localVarResponseHttpContentType == utility::conversions::to_string_t("application/json")) { web::json::value localVarJson = web::json::value::parse(localVarResponse); for( auto& localVarItem : localVarJson.as_array() ) { std::shared_ptr localVarItemObj(new Pet()); localVarItemObj->fromJson(localVarItem); localVarResult.push_back(localVarItemObj); } } // else if(localVarResponseHttpContentType == utility::conversions::to_string_t("multipart/form-data")) // { // TODO multipart response parsing // } else { throw ApiException(500 , utility::conversions::to_string_t("error calling findPetsByTags: unsupported response type")); } return localVarResult; }); } pplx::task> PetApi::getPetById(int64_t petId) { std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet/{petId}"); boost::replace_all(localVarPath, utility::conversions::to_string_t("{") + utility::conversions::to_string_t("petId") + utility::conversions::to_string_t("}"), ApiClient::parameterToString(petId)); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/xml") ); localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/json") ); utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->getPetById does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->getPetById does not consume any supported media type")); } // authentication (api_key) required { utility::string_t localVarApiKey = localVarApiConfiguration->getApiKey(utility::conversions::to_string_t("api_key")); if ( localVarApiKey.size() > 0 ) { localVarHeaderParams[utility::conversions::to_string_t("api_key")] = localVarApiKey; } } return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("GET"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling getPetById: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling getPetById: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { std::shared_ptr localVarResult(new Pet()); if(localVarResponseHttpContentType == utility::conversions::to_string_t("application/json")) { web::json::value localVarJson = web::json::value::parse(localVarResponse); localVarResult->fromJson(localVarJson); } // else if(localVarResponseHttpContentType == utility::conversions::to_string_t("multipart/form-data")) // { // TODO multipart response parsing // } else { throw ApiException(500 , utility::conversions::to_string_t("error calling getPetById: unsupported response type")); } return localVarResult; }); } pplx::task PetApi::updatePet(std::shared_ptr pet) { // verify the required parameter 'pet' is set if (pet == nullptr) { throw ApiException(400, utility::conversions::to_string_t("Missing required parameter 'pet' when calling PetApi->updatePet")); } std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet"); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->updatePet does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/json") ); localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/xml") ); std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); web::json::value localVarJson; localVarJson = ModelBase::toJson(pet); localVarHttpBody = std::shared_ptr( new JsonBody( localVarJson ) ); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); std::shared_ptr localVarMultipart(new MultipartFormData); if(pet.get()) { pet->toMultipart(localVarMultipart, utility::conversions::to_string_t("pet")); } localVarHttpBody = localVarMultipart; localVarRequestHttpContentType += utility::conversions::to_string_t("; boundary=") + localVarMultipart->getBoundary(); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->updatePet does not consume any supported media type")); } // authentication (petstore_auth) required // oauth2 authentication is added automatically as part of the http_client_config return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("PUT"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling updatePet: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling updatePet: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { return void(); }); } pplx::task PetApi::updatePetWithForm(int64_t petId, boost::optional name, boost::optional status) { std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet/{petId}"); boost::replace_all(localVarPath, utility::conversions::to_string_t("{") + utility::conversions::to_string_t("petId") + utility::conversions::to_string_t("}"), ApiClient::parameterToString(petId)); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->updatePetWithForm does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("application/x-www-form-urlencoded") ); if (name) { localVarFormParams[ utility::conversions::to_string_t("name") ] = ApiClient::parameterToString(*name); } if (status) { localVarFormParams[ utility::conversions::to_string_t("status") ] = ApiClient::parameterToString(*status); } std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->updatePetWithForm does not consume any supported media type")); } // authentication (petstore_auth) required // oauth2 authentication is added automatically as part of the http_client_config return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("POST"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling updatePetWithForm: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling updatePetWithForm: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { return void(); }); } pplx::task> PetApi::uploadFile(int64_t petId, boost::optional additionalMetadata, boost::optional> file) { std::shared_ptr localVarApiConfiguration( m_ApiClient->getConfiguration() ); utility::string_t localVarPath = utility::conversions::to_string_t("/pet/{petId}/uploadImage"); boost::replace_all(localVarPath, utility::conversions::to_string_t("{") + utility::conversions::to_string_t("petId") + utility::conversions::to_string_t("}"), ApiClient::parameterToString(petId)); std::map localVarQueryParams; std::map localVarHeaderParams( localVarApiConfiguration->getDefaultHeaders() ); std::map localVarFormParams; std::map> localVarFileParams; std::unordered_set localVarResponseHttpContentTypes; localVarResponseHttpContentTypes.insert( utility::conversions::to_string_t("application/json") ); utility::string_t localVarResponseHttpContentType; // use JSON if possible if ( localVarResponseHttpContentTypes.size() == 0 ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // JSON else if ( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarResponseHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarResponseHttpContentTypes.end() ) { localVarResponseHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(400, utility::conversions::to_string_t("PetApi->uploadFile does not produce any supported media type")); } localVarHeaderParams[utility::conversions::to_string_t("Accept")] = localVarResponseHttpContentType; std::unordered_set localVarConsumeHttpContentTypes; localVarConsumeHttpContentTypes.insert( utility::conversions::to_string_t("multipart/form-data") ); if (additionalMetadata) { localVarFormParams[ utility::conversions::to_string_t("additionalMetadata") ] = ApiClient::parameterToString(*additionalMetadata); } if (file && *file != nullptr) { localVarFileParams[ utility::conversions::to_string_t("file") ] = *file; } std::shared_ptr localVarHttpBody; utility::string_t localVarRequestHttpContentType; // use JSON if possible if ( localVarConsumeHttpContentTypes.size() == 0 || localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("application/json")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("application/json"); } // multipart formdata else if( localVarConsumeHttpContentTypes.find(utility::conversions::to_string_t("multipart/form-data")) != localVarConsumeHttpContentTypes.end() ) { localVarRequestHttpContentType = utility::conversions::to_string_t("multipart/form-data"); } else { throw ApiException(415, utility::conversions::to_string_t("PetApi->uploadFile does not consume any supported media type")); } // authentication (petstore_auth) required // oauth2 authentication is added automatically as part of the http_client_config return m_ApiClient->callApi(localVarPath, utility::conversions::to_string_t("POST"), localVarQueryParams, localVarHttpBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarRequestHttpContentType) .then([=](web::http::http_response localVarResponse) { if (m_ApiClient->getResponseHandler()) { m_ApiClient->getResponseHandler()(localVarResponse.status_code(), localVarResponse.headers()); } // 1xx - informational : OK // 2xx - successful : OK // 3xx - redirection : OK // 4xx - client error : not OK // 5xx - client error : not OK if (localVarResponse.status_code() >= 400) { throw ApiException(localVarResponse.status_code() , utility::conversions::to_string_t("error calling uploadFile: ") + localVarResponse.reason_phrase() , std::make_shared(localVarResponse.extract_utf8string(true).get())); } // check response content type if(localVarResponse.headers().has(utility::conversions::to_string_t("Content-Type"))) { utility::string_t localVarContentType = localVarResponse.headers()[utility::conversions::to_string_t("Content-Type")]; if( localVarContentType.find(localVarResponseHttpContentType) == std::string::npos ) { throw ApiException(500 , utility::conversions::to_string_t("error calling uploadFile: unexpected response type: ") + localVarContentType , std::make_shared(localVarResponse.extract_utf8string(true).get())); } } return localVarResponse.extract_string(); }) .then([=](utility::string_t localVarResponse) { std::shared_ptr localVarResult(new ApiResponse()); if(localVarResponseHttpContentType == utility::conversions::to_string_t("application/json")) { web::json::value localVarJson = web::json::value::parse(localVarResponse); localVarResult->fromJson(localVarJson); } // else if(localVarResponseHttpContentType == utility::conversions::to_string_t("multipart/form-data")) // { // TODO multipart response parsing // } else { throw ApiException(500 , utility::conversions::to_string_t("error calling uploadFile: unsupported response type")); } return localVarResult; }); } } } } }