Skip to content

Commit 7837b1e

Browse files
YermekGImmutableJeffrey
authored andcommitted
chore: updated zkevm api (#149)
1 parent 576c8ee commit 7837b1e

11 files changed

+214
-260
lines changed

Source/Experimental/ImmutablezkEVMAPI/Private/APIMetadataApi.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,33 @@ void APIMetadataApi::OnListMetadataForChainResponse(FHttpRequestPtr HttpRequest,
214214
Delegate.ExecuteIfBound(Response);
215215
}
216216

217+
FHttpRequestPtr APIMetadataApi::ListStacks(const ListStacksRequest& Request, const FListStacksDelegate& Delegate /*= FListStacksDelegate()*/) const
218+
{
219+
if (!IsValid())
220+
return nullptr;
221+
222+
FHttpRequestRef HttpRequest = CreateHttpRequest(Request);
223+
HttpRequest->SetURL(*(Url + Request.ComputePath()));
224+
225+
for(const auto& It : AdditionalHeaderParams)
226+
{
227+
HttpRequest->SetHeader(It.Key, It.Value);
228+
}
229+
230+
Request.SetupHttpRequest(HttpRequest);
231+
232+
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIMetadataApi::OnListStacksResponse, Delegate);
233+
HttpRequest->ProcessRequest();
234+
return HttpRequest;
235+
}
236+
237+
void APIMetadataApi::OnListStacksResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FListStacksDelegate Delegate) const
238+
{
239+
ListStacksResponse Response;
240+
HandleResponse(HttpResponse, bSucceeded, Response);
241+
Delegate.ExecuteIfBound(Response);
242+
}
243+
217244
FHttpRequestPtr APIMetadataApi::RefreshMetadataByID(const RefreshMetadataByIDRequest& Request, const FRefreshMetadataByIDDelegate& Delegate /*= FRefreshMetadataByIDDelegate()*/) const
218245
{
219246
if (!IsValid())

Source/Experimental/ImmutablezkEVMAPI/Private/APIMetadataApiOperations.cpp

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,64 @@ bool APIMetadataApi::ListMetadataForChainResponse::FromJson(const TSharedPtr<FJs
190190
return TryGetJsonValue(JsonValue, Content);
191191
}
192192

193+
FString APIMetadataApi::ListStacksRequest::ComputePath() const
194+
{
195+
TMap<FString, FStringFormatArg> PathParams = {
196+
{ TEXT("chain_name"), FStringFormatArg(ToUrlString(ChainName)) } };
197+
198+
FString Path = FString::Format(TEXT("/v1/chains/{chain_name}/stacks"), PathParams);
199+
200+
TArray<FString> QueryParams;
201+
QueryParams.Add(CollectionToUrlString_multi(StackId, TEXT("stack_id")));
202+
Path += TCHAR('?');
203+
Path += FString::Join(QueryParams, TEXT("&"));
204+
205+
return Path;
206+
}
207+
208+
void APIMetadataApi::ListStacksRequest::SetupHttpRequest(const FHttpRequestRef& HttpRequest) const
209+
{
210+
static const TArray<FString> Consumes = { };
211+
//static const TArray<FString> Produces = { TEXT("application/json") };
212+
213+
HttpRequest->SetVerb(TEXT("GET"));
214+
215+
}
216+
217+
void APIMetadataApi::ListStacksResponse::SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode)
218+
{
219+
Response::SetHttpResponseCode(InHttpResponseCode);
220+
switch ((int)InHttpResponseCode)
221+
{
222+
case 200:
223+
SetResponseString(TEXT("200 response"));
224+
break;
225+
case 400:
226+
SetResponseString(TEXT("Bad Request (400)"));
227+
break;
228+
case 401:
229+
SetResponseString(TEXT("Unauthorised Request (401)"));
230+
break;
231+
case 403:
232+
SetResponseString(TEXT("Forbidden Request (403)"));
233+
break;
234+
case 404:
235+
SetResponseString(TEXT("The specified resource was not found (404)"));
236+
break;
237+
case 429:
238+
SetResponseString(TEXT("Too Many Requests (429)"));
239+
break;
240+
case 500:
241+
SetResponseString(TEXT("Internal Server Error (500)"));
242+
break;
243+
}
244+
}
245+
246+
bool APIMetadataApi::ListStacksResponse::FromJson(const TSharedPtr<FJsonValue>& JsonValue)
247+
{
248+
return TryGetJsonValue(JsonValue, Content);
249+
}
250+
193251
FString APIMetadataApi::RefreshMetadataByIDRequest::ComputePath() const
194252
{
195253
TMap<FString, FStringFormatArg> PathParams = {

Source/Experimental/ImmutablezkEVMAPI/Private/APIStacksApi.cpp renamed to Source/Experimental/ImmutablezkEVMAPI/Private/APIMetadataSearchApi.cpp

Lines changed: 23 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
* Do not edit the class manually.
1111
*/
1212

13-
#include "APIStacksApi.h"
13+
#include "APIMetadataSearchApi.h"
1414

15-
#include "APIStacksApiOperations.h"
15+
#include "APIMetadataSearchApiOperations.h"
1616
#include "ImmutablezkEVMAPIModule.h"
1717

1818
#include "HttpModule.h"
@@ -21,40 +21,40 @@
2121
namespace ImmutablezkEVMAPI
2222
{
2323

24-
APIStacksApi::APIStacksApi()
24+
APIMetadataSearchApi::APIMetadataSearchApi()
2525
: Url(TEXT("https://api.sandbox.immutable.com"))
2626
{
2727
}
2828

29-
APIStacksApi::~APIStacksApi() {}
29+
APIMetadataSearchApi::~APIMetadataSearchApi() {}
3030

31-
void APIStacksApi::SetURL(const FString& InUrl)
31+
void APIMetadataSearchApi::SetURL(const FString& InUrl)
3232
{
3333
Url = InUrl;
3434
}
3535

36-
void APIStacksApi::AddHeaderParam(const FString& Key, const FString& Value)
36+
void APIMetadataSearchApi::AddHeaderParam(const FString& Key, const FString& Value)
3737
{
3838
AdditionalHeaderParams.Add(Key, Value);
3939
}
4040

41-
void APIStacksApi::ClearHeaderParams()
41+
void APIMetadataSearchApi::ClearHeaderParams()
4242
{
4343
AdditionalHeaderParams.Reset();
4444
}
4545

46-
bool APIStacksApi::IsValid() const
46+
bool APIMetadataSearchApi::IsValid() const
4747
{
4848
if (Url.IsEmpty())
4949
{
50-
UE_LOG(LogImmutablezkEVMAPI, Error, TEXT("APIStacksApi: Endpoint Url is not set, request cannot be performed"));
50+
UE_LOG(LogImmutablezkEVMAPI, Error, TEXT("APIMetadataSearchApi: Endpoint Url is not set, request cannot be performed"));
5151
return false;
5252
}
5353

5454
return true;
5555
}
5656

57-
void APIStacksApi::SetHttpRetryManager(FHttpRetrySystem::FManager& InRetryManager)
57+
void APIMetadataSearchApi::SetHttpRetryManager(FHttpRetrySystem::FManager& InRetryManager)
5858
{
5959
if (RetryManager != &InRetryManager)
6060
{
@@ -63,13 +63,13 @@ void APIStacksApi::SetHttpRetryManager(FHttpRetrySystem::FManager& InRetryManage
6363
}
6464
}
6565

66-
FHttpRetrySystem::FManager& APIStacksApi::GetHttpRetryManager()
66+
FHttpRetrySystem::FManager& APIMetadataSearchApi::GetHttpRetryManager()
6767
{
68-
checkf(RetryManager, TEXT("APIStacksApi: RetryManager is null. You may have meant to set it with SetHttpRetryManager first, or you may not be using a custom RetryManager at all."))
68+
checkf(RetryManager, TEXT("APIMetadataSearchApi: RetryManager is null. You may have meant to set it with SetHttpRetryManager first, or you may not be using a custom RetryManager at all."))
6969
return *RetryManager;
7070
}
7171

72-
FHttpRequestRef APIStacksApi::CreateHttpRequest(const Request& Request) const
72+
FHttpRequestRef APIMetadataSearchApi::CreateHttpRequest(const Request& Request) const
7373
{
7474
if (!Request.GetRetryParams().IsSet())
7575
{
@@ -89,7 +89,7 @@ FHttpRequestRef APIStacksApi::CreateHttpRequest(const Request& Request) const
8989
}
9090
}
9191

92-
void APIStacksApi::HandleResponse(FHttpResponsePtr HttpResponse, bool bSucceeded, Response& InOutResponse) const
92+
void APIMetadataSearchApi::HandleResponse(FHttpResponsePtr HttpResponse, bool bSucceeded, Response& InOutResponse) const
9393
{
9494
InOutResponse.SetHttpResponse(HttpResponse);
9595
InOutResponse.SetSuccessful(bSucceeded);
@@ -133,7 +133,7 @@ void APIStacksApi::HandleResponse(FHttpResponsePtr HttpResponse, bool bSucceeded
133133
InOutResponse.SetHttpResponseCode(EHttpResponseCodes::RequestTimeout);
134134
}
135135

136-
FHttpRequestPtr APIStacksApi::ListFilters(const ListFiltersRequest& Request, const FListFiltersDelegate& Delegate /*= FListFiltersDelegate()*/) const
136+
FHttpRequestPtr APIMetadataSearchApi::ListFilters(const ListFiltersRequest& Request, const FListFiltersDelegate& Delegate /*= FListFiltersDelegate()*/) const
137137
{
138138
if (!IsValid())
139139
return nullptr;
@@ -148,19 +148,19 @@ FHttpRequestPtr APIStacksApi::ListFilters(const ListFiltersRequest& Request, con
148148

149149
Request.SetupHttpRequest(HttpRequest);
150150

151-
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIStacksApi::OnListFiltersResponse, Delegate);
151+
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIMetadataSearchApi::OnListFiltersResponse, Delegate);
152152
HttpRequest->ProcessRequest();
153153
return HttpRequest;
154154
}
155155

156-
void APIStacksApi::OnListFiltersResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FListFiltersDelegate Delegate) const
156+
void APIMetadataSearchApi::OnListFiltersResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FListFiltersDelegate Delegate) const
157157
{
158158
ListFiltersResponse Response;
159159
HandleResponse(HttpResponse, bSucceeded, Response);
160160
Delegate.ExecuteIfBound(Response);
161161
}
162162

163-
FHttpRequestPtr APIStacksApi::ListStacks(const ListStacksRequest& Request, const FListStacksDelegate& Delegate /*= FListStacksDelegate()*/) const
163+
FHttpRequestPtr APIMetadataSearchApi::SearchNFTs(const SearchNFTsRequest& Request, const FSearchNFTsDelegate& Delegate /*= FSearchNFTsDelegate()*/) const
164164
{
165165
if (!IsValid())
166166
return nullptr;
@@ -175,46 +175,19 @@ FHttpRequestPtr APIStacksApi::ListStacks(const ListStacksRequest& Request, const
175175

176176
Request.SetupHttpRequest(HttpRequest);
177177

178-
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIStacksApi::OnListStacksResponse, Delegate);
178+
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIMetadataSearchApi::OnSearchNFTsResponse, Delegate);
179179
HttpRequest->ProcessRequest();
180180
return HttpRequest;
181181
}
182182

183-
void APIStacksApi::OnListStacksResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FListStacksDelegate Delegate) const
184-
{
185-
ListStacksResponse Response;
186-
HandleResponse(HttpResponse, bSucceeded, Response);
187-
Delegate.ExecuteIfBound(Response);
188-
}
189-
190-
FHttpRequestPtr APIStacksApi::SearchNFTs(const SearchNFTsRequest& Request, const FSearchNFTsDelegate& Delegate /*= FSearchNFTsDelegate()*/) const
191-
{
192-
if (!IsValid())
193-
return nullptr;
194-
195-
FHttpRequestRef HttpRequest = CreateHttpRequest(Request);
196-
HttpRequest->SetURL(*(Url + Request.ComputePath()));
197-
198-
for(const auto& It : AdditionalHeaderParams)
199-
{
200-
HttpRequest->SetHeader(It.Key, It.Value);
201-
}
202-
203-
Request.SetupHttpRequest(HttpRequest);
204-
205-
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIStacksApi::OnSearchNFTsResponse, Delegate);
206-
HttpRequest->ProcessRequest();
207-
return HttpRequest;
208-
}
209-
210-
void APIStacksApi::OnSearchNFTsResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FSearchNFTsDelegate Delegate) const
183+
void APIMetadataSearchApi::OnSearchNFTsResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FSearchNFTsDelegate Delegate) const
211184
{
212185
SearchNFTsResponse Response;
213186
HandleResponse(HttpResponse, bSucceeded, Response);
214187
Delegate.ExecuteIfBound(Response);
215188
}
216189

217-
FHttpRequestPtr APIStacksApi::SearchStacks(const SearchStacksRequest& Request, const FSearchStacksDelegate& Delegate /*= FSearchStacksDelegate()*/) const
190+
FHttpRequestPtr APIMetadataSearchApi::SearchStacks(const SearchStacksRequest& Request, const FSearchStacksDelegate& Delegate /*= FSearchStacksDelegate()*/) const
218191
{
219192
if (!IsValid())
220193
return nullptr;
@@ -229,12 +202,12 @@ FHttpRequestPtr APIStacksApi::SearchStacks(const SearchStacksRequest& Request, c
229202

230203
Request.SetupHttpRequest(HttpRequest);
231204

232-
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIStacksApi::OnSearchStacksResponse, Delegate);
205+
HttpRequest->OnProcessRequestComplete().BindRaw(this, &APIMetadataSearchApi::OnSearchStacksResponse, Delegate);
233206
HttpRequest->ProcessRequest();
234207
return HttpRequest;
235208
}
236209

237-
void APIStacksApi::OnSearchStacksResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FSearchStacksDelegate Delegate) const
210+
void APIMetadataSearchApi::OnSearchStacksResponse(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded, FSearchStacksDelegate Delegate) const
238211
{
239212
SearchStacksResponse Response;
240213
HandleResponse(HttpResponse, bSucceeded, Response);

0 commit comments

Comments
 (0)