diff --git a/Plugins/SequencePlugin/Source/SequencePlugin/Private/Indexer/Indexer.cpp b/Plugins/SequencePlugin/Source/SequencePlugin/Private/Indexer/Indexer.cpp index 7ca15c66..9adea326 100644 --- a/Plugins/SequencePlugin/Source/SequencePlugin/Private/Indexer/Indexer.cpp +++ b/Plugins/SequencePlugin/Source/SequencePlugin/Private/Indexer/Indexer.cpp @@ -43,17 +43,25 @@ FString UIndexer::HostName(const int64 ChainID) { const FString Url = *this->Url(ChainID, Endpoint); const TSharedRef HTTP_Post_Req = FHttpModule::Get().CreateRequest(); - - SEQ_LOG_EDITOR(Display, TEXT("POST >> %s with payload %s"), *Url, *Args); + FString AccessKey = UConfigFetcher::GetConfigVar(UConfigFetcher::ProjectAccessKey); HTTP_Post_Req->SetVerb("POST"); HTTP_Post_Req->SetHeader("Content-Type", "application/json"); // Two differing headers for the request HTTP_Post_Req->SetHeader("Accept", "application/json"); - HTTP_Post_Req->SetHeader("X-Access-Key",UConfigFetcher::GetConfigVar(UConfigFetcher::ProjectAccessKey)); + HTTP_Post_Req->SetHeader("X-Access-Key", AccessKey); HTTP_Post_Req->SetTimeout(30); HTTP_Post_Req->SetURL(Url); HTTP_Post_Req->SetContentAsString(Args); + FString CurlCommand = FString::Printf( + TEXT("curl -X %s \"%s\" -H \"Content-Type: application/json\" -H \"Accept: application/json\" -H \"X-Access-Key: %s\" --data \"%s\""), + *HTTP_Post_Req->GetVerb(), + *HTTP_Post_Req->GetURL(), + *HTTP_Post_Req->GetHeader("X-Access-Key"), + *FString::Printf(TEXT("%s"), *FString(UTF8_TO_TCHAR(HTTP_Post_Req->GetContent().GetData())).Replace(TEXT("\""), TEXT("\\\""))) + ); + SEQ_LOG_EDITOR(Log, TEXT("%s"), *CurlCommand); + HTTP_Post_Req->OnProcessRequestComplete().BindLambda([OnSuccess, OnFailure](const FHttpRequestPtr& Request, FHttpResponsePtr Response, const bool bWasSuccessful) { if (bWasSuccessful && Response.IsValid()) @@ -61,7 +69,7 @@ FString UIndexer::HostName(const int64 ChainID) const int32 ResponseCode = Response->GetResponseCode(); const FString Content = Response->GetContentAsString(); - SEQ_LOG_EDITOR(Display, TEXT("POST << %d %s (from %s)"), ResponseCode, *Content, *Request->GetURL()); + SEQ_LOG_EDITOR(Log, TEXT("%s"), *Response->GetContentAsString()); if (ResponseCode >= 200 && ResponseCode < 300 ) { diff --git a/Plugins/SequencePlugin/Source/SequencePlugin/Private/RequestHandler.cpp b/Plugins/SequencePlugin/Source/SequencePlugin/Private/RequestHandler.cpp index dffbd298..eeb09277 100644 --- a/Plugins/SequencePlugin/Source/SequencePlugin/Private/RequestHandler.cpp +++ b/Plugins/SequencePlugin/Source/SequencePlugin/Private/RequestHandler.cpp @@ -9,6 +9,7 @@ #include "IImageWrapper.h" #include "Types/BinaryData.h" #include "Util/HexUtility.h" +#include "Util/Log.h" #include "TextureResource.h" URequestHandler* URequestHandler::PrepareRequest() @@ -131,17 +132,32 @@ void URequestHandler::ProcessAndThen(TFunction OnSuccess, FFa void URequestHandler::ProcessAndThen(TFunction OnSuccess, FFailureCallback OnFailure) const { Process().BindLambda([OnSuccess, OnFailure](FHttpRequestPtr Req, const FHttpResponsePtr& Response, const bool bWasSuccessful) - { - if(bWasSuccessful) { - OnSuccess(Response.Get()->GetContentAsString()); - } - else - { - if(Response.IsValid()) - OnFailure(FSequenceError(RequestFail, "The Request is invalid!")); + FString CurlCommand = FString::Printf( + TEXT("curl -X %s \"%s\" -H \"Content-Type: application/json\" -H \"Accept: application/json\" -H \"X-Access-Key: %s\" --data \"%s\""), + *Req->GetVerb(), + *Req->GetURL(), + *Req->GetHeader("X-Access-Key"), + *FString::Printf(TEXT("%s"),*FString(UTF8_TO_TCHAR(Req->GetContent().GetData())).Replace(TEXT("\""), TEXT("\\\""))) + ); + + SEQ_LOG_EDITOR(Log,TEXT("%s"), *CurlCommand); + SEQ_LOG_EDITOR(Log,TEXT("%s"), *Response->GetContentAsString()); + + if (bWasSuccessful) + { + OnSuccess(Response->GetContentAsString()); + } else - OnFailure(FSequenceError(RequestFail, "Request failed: " + Response->GetContentAsString())); - } - }); + { + if (Response.IsValid()) + { + OnFailure(FSequenceError(RequestFail, "Request is invalid" + Response->GetContentAsString())); + } + else + { + OnFailure(FSequenceError(RequestFail, "Request failed: No response received!")); + } + } + }); }