update cpp-ue4 samples (#10194)

This commit is contained in:
William Cheng
2021-08-19 12:24:54 +08:00
committed by GitHub
parent 7a64d5912c
commit 67cba32d3a
31 changed files with 271 additions and 156 deletions

View File

@@ -20,7 +20,7 @@
#include "HttpModule.h"
#include "PlatformHttp.h"
namespace OpenAPI
namespace OpenAPI
{
FString OpenAPIPetApi::AddPetRequest::ComputePath() const
@@ -85,7 +85,7 @@ FString OpenAPIPetApi::DeletePetRequest::ComputePath() const
{ TEXT("petId"), ToStringFormatArg(PetId) } };
FString Path = FString::Format(TEXT("/pet/{petId}"), PathParams);
return Path;
}
@@ -105,6 +105,14 @@ void OpenAPIPetApi::DeletePetRequest::SetupHttpRequest(const FHttpRequestRef& Ht
// Default to Json Body request
if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json")))
{
// Form parameters
FString JsonBody;
JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody);
Writer->WriteObjectStart();
Writer->WriteObjectEnd();
Writer->Close();
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8"));
HttpRequest->SetContentAsString(JsonBody);
}
else if (Consumes.Contains(TEXT("multipart/form-data")))
{
@@ -146,7 +154,7 @@ inline FString ToString(const OpenAPIPetApi::FindPetsByStatusRequest::StatusEnum
return TEXT("sold");
}
UE_LOG(LogOpenAPI, Error, TEXT("Invalid OpenAPIPetApi::FindPetsByStatusRequest::StatusEnum Value (%d)"), (int)Value);
UE_LOG(LogOpenAPI, Error, TEXT("Invalid OpenAPIPetApi::FindPetsByStatusRequest::StatusEnum Value (%d)"), (int)Value);
return TEXT("");
}
@@ -166,7 +174,7 @@ inline bool FromString(const FString& EnumAsString, OpenAPIPetApi::FindPetsBySta
if(Found)
Value = *Found;
return Found != nullptr;
return Found != nullptr;
}
bool OpenAPIPetApi::FindPetsByStatusRequest::EnumFromString(const FString& EnumAsString, OpenAPIPetApi::FindPetsByStatusRequest::StatusEnum& EnumValue)
@@ -216,6 +224,14 @@ void OpenAPIPetApi::FindPetsByStatusRequest::SetupHttpRequest(const FHttpRequest
// Default to Json Body request
if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json")))
{
// Form parameters
FString JsonBody;
JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody);
Writer->WriteObjectStart();
Writer->WriteObjectEnd();
Writer->Close();
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8"));
HttpRequest->SetContentAsString(JsonBody);
}
else if (Consumes.Contains(TEXT("multipart/form-data")))
{
@@ -269,6 +285,14 @@ void OpenAPIPetApi::FindPetsByTagsRequest::SetupHttpRequest(const FHttpRequestRe
// Default to Json Body request
if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json")))
{
// Form parameters
FString JsonBody;
JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody);
Writer->WriteObjectStart();
Writer->WriteObjectEnd();
Writer->Close();
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8"));
HttpRequest->SetContentAsString(JsonBody);
}
else if (Consumes.Contains(TEXT("multipart/form-data")))
{
@@ -307,7 +331,7 @@ FString OpenAPIPetApi::GetPetByIdRequest::ComputePath() const
{ TEXT("petId"), ToStringFormatArg(PetId) } };
FString Path = FString::Format(TEXT("/pet/{petId}"), PathParams);
return Path;
}
@@ -321,6 +345,14 @@ void OpenAPIPetApi::GetPetByIdRequest::SetupHttpRequest(const FHttpRequestRef& H
// Default to Json Body request
if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json")))
{
// Form parameters
FString JsonBody;
JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody);
Writer->WriteObjectStart();
Writer->WriteObjectEnd();
Writer->Close();
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8"));
HttpRequest->SetContentAsString(JsonBody);
}
else if (Consumes.Contains(TEXT("multipart/form-data")))
{
@@ -424,7 +456,7 @@ FString OpenAPIPetApi::UpdatePetWithFormRequest::ComputePath() const
{ TEXT("petId"), ToStringFormatArg(PetId) } };
FString Path = FString::Format(TEXT("/pet/{petId}"), PathParams);
return Path;
}
@@ -438,8 +470,22 @@ void OpenAPIPetApi::UpdatePetWithFormRequest::SetupHttpRequest(const FHttpReques
// Default to Json Body request
if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json")))
{
UE_LOG(LogOpenAPI, Error, TEXT("Form parameter (name) was ignored, cannot be used in JsonBody"));
UE_LOG(LogOpenAPI, Error, TEXT("Form parameter (status) was ignored, cannot be used in JsonBody"));
// Form parameters
FString JsonBody;
JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody);
Writer->WriteObjectStart();
if (Name.IsSet()){
Writer->WriteIdentifierPrefix(TEXT("name"));
WriteJsonValue(Writer, Name.GetValue());
}
if (Status.IsSet()){
Writer->WriteIdentifierPrefix(TEXT("status"));
WriteJsonValue(Writer, Status.GetValue());
}
Writer->WriteObjectEnd();
Writer->Close();
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8"));
HttpRequest->SetContentAsString(JsonBody);
}
else if (Consumes.Contains(TEXT("multipart/form-data")))
{
@@ -466,7 +512,7 @@ void OpenAPIPetApi::UpdatePetWithFormRequest::SetupHttpRequest(const FHttpReques
{
FormParams.Add(FString(TEXT("status=")) + ToUrlString(Status.GetValue()));
}
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/x-www-form-urlencoded; charset=utf-8"));
HttpRequest->SetContentAsString(FString::Join(FormParams, TEXT("&")));
}
@@ -498,7 +544,7 @@ FString OpenAPIPetApi::UploadFileRequest::ComputePath() const
{ TEXT("petId"), ToStringFormatArg(PetId) } };
FString Path = FString::Format(TEXT("/pet/{petId}/uploadImage"), PathParams);
return Path;
}
@@ -512,8 +558,22 @@ void OpenAPIPetApi::UploadFileRequest::SetupHttpRequest(const FHttpRequestRef& H
// Default to Json Body request
if (Consumes.Num() == 0 || Consumes.Contains(TEXT("application/json")))
{
UE_LOG(LogOpenAPI, Error, TEXT("Form parameter (additionalMetadata) was ignored, cannot be used in JsonBody"));
UE_LOG(LogOpenAPI, Error, TEXT("Form parameter (file) was ignored, cannot be used in JsonBody"));
// Form parameters
FString JsonBody;
JsonWriter Writer = TJsonWriterFactory<>::Create(&JsonBody);
Writer->WriteObjectStart();
if (AdditionalMetadata.IsSet()){
Writer->WriteIdentifierPrefix(TEXT("additionalMetadata"));
WriteJsonValue(Writer, AdditionalMetadata.GetValue());
}
if (File.IsSet()){
Writer->WriteIdentifierPrefix(TEXT("file"));
WriteJsonValue(Writer, File.GetValue());
}
Writer->WriteObjectEnd();
Writer->Close();
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json; charset=utf-8"));
HttpRequest->SetContentAsString(JsonBody);
}
else if (Consumes.Contains(TEXT("multipart/form-data")))
{
@@ -537,7 +597,7 @@ void OpenAPIPetApi::UploadFileRequest::SetupHttpRequest(const FHttpRequestRef& H
FormParams.Add(FString(TEXT("additionalMetadata=")) + ToUrlString(AdditionalMetadata.GetValue()));
}
UE_LOG(LogOpenAPI, Error, TEXT("Form parameter (file) was ignored, Files are not supported in urlencoded requests"));
HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/x-www-form-urlencoded; charset=utf-8"));
HttpRequest->SetContentAsString(FString::Join(FormParams, TEXT("&")));
}