forked from loafle/openapi-generator-original
* [cpp-ue4] Fixed enum values not being quoted. I'm not sure when this started breaking. * [cpp-ue4] UE 4.26 Compatibility: Replaced TSharedRef<IHttpRequest by FHttpRequestRef for better portability * [cpp-ue4] Improved DateTime parsing * [cpp-ue4] Made HttpFileInput constructors explicit * [cpp-ue4] Added the possibility to retry requests easily with AsyncRetry method on the response and SetAutoRetryCount on the request WIP auto retry [cpp-ue4] Adds support for instant retry * [cpp-ue4] Using TaskGraph instead of TaskGraphMainThread for async retries * update samples * remove trailing spaces Co-authored-by: Jean-Noel Gourdol <jngourdol@stormancer.com> Co-authored-by: William Cheng <wing328hk@gmail.com>
79 lines
2.2 KiB
C++
79 lines
2.2 KiB
C++
/**
|
|
* 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
|
|
* https://github.com/OpenAPITools/openapi-generator
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "Interfaces/IHttpRequest.h"
|
|
#include "Interfaces/IHttpResponse.h"
|
|
#include "Serialization/JsonWriter.h"
|
|
#include "Dom/JsonObject.h"
|
|
|
|
namespace OpenAPI
|
|
{
|
|
|
|
typedef TSharedRef<TJsonWriter<>> JsonWriter;
|
|
|
|
class OPENAPI_API Model
|
|
{
|
|
public:
|
|
virtual ~Model() {}
|
|
virtual void WriteJson(JsonWriter& Writer) const = 0;
|
|
virtual bool FromJson(const TSharedPtr<FJsonValue>& JsonValue) = 0;
|
|
};
|
|
|
|
class OPENAPI_API Request
|
|
{
|
|
public:
|
|
virtual ~Request() {}
|
|
virtual void SetupHttpRequest(const FHttpRequestRef& HttpRequest) const = 0;
|
|
virtual FString ComputePath() const = 0;
|
|
|
|
void SetAutoRetryCount(int InCount) { AutoRetryCount = InCount; }
|
|
int GetAutoRetryCount() const { return AutoRetryCount; }
|
|
|
|
private:
|
|
int AutoRetryCount = 0;
|
|
};
|
|
|
|
class OPENAPI_API Response
|
|
{
|
|
public:
|
|
virtual ~Response() {}
|
|
virtual bool FromJson(const TSharedPtr<FJsonValue>& JsonValue) = 0;
|
|
|
|
void SetSuccessful(bool InSuccessful) { Successful = InSuccessful; }
|
|
bool IsSuccessful() const { return Successful; }
|
|
|
|
void AsyncRetry() const;
|
|
|
|
virtual void SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode);
|
|
EHttpResponseCodes::Type GetHttpResponseCode() const { return ResponseCode; }
|
|
|
|
void SetResponseString(const FString& InResponseString) { ResponseString = InResponseString; }
|
|
const FString& GetResponseString() const { return ResponseString; }
|
|
|
|
void SetHttpResponse(const FHttpResponsePtr& InHttpResponse) { HttpResponse = InHttpResponse; }
|
|
const FHttpResponsePtr& GetHttpResponse() const { return HttpResponse; }
|
|
|
|
void SetHttpRequest(const FHttpRequestPtr& InHttpRequest) { HttpRequest = InHttpRequest; }
|
|
const FHttpRequestPtr& GetHttpRequest() const { return HttpRequest; }
|
|
|
|
private:
|
|
bool Successful;
|
|
EHttpResponseCodes::Type ResponseCode;
|
|
FString ResponseString;
|
|
FHttpResponsePtr HttpResponse;
|
|
FHttpRequestPtr HttpRequest;
|
|
};
|
|
|
|
}
|