Samuel Kahn 9ab3463144
[cpp-ue4] Added UE4.26 support, (#8964)
* [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>
2021-03-17 17:50:42 +08:00

65 lines
1.7 KiB
Plaintext
Vendored

{{>licenseInfo}}
#pragma once
#include "{{modelNamePrefix}}BaseModel.h"
#include "{{classname}}.h"
{{#imports}}{{{import}}}
{{/imports}}
{{#cppNamespaceDeclarations}}
namespace {{this}}
{
{{/cppNamespaceDeclarations}}
{{#operations}}
{{#operation}}
/* {{summary}}
{{#notes}} *
* {{notes}}{{/notes}}
*/
class {{dllapi}} {{classname}}::{{operationIdCamelCase}}Request : public Request
{
public:
virtual ~{{operationIdCamelCase}}Request() {}
void SetupHttpRequest(const FHttpRequestRef& HttpRequest) const final;
FString ComputePath() const final;
{{#allParams}}
{{#isEnum}}
{{#allowableValues}}
enum class {{{enumName}}}
{
{{#enumVars}}
{{name}},
{{/enumVars}}
};
{{/allowableValues}}
{{#description}}/* {{{description}}} */
{{/description}}{{^required}}TOptional<{{/required}}{{{datatypeWithEnum}}}{{^required}}>{{/required}} {{paramName}}{{#required}}{{#defaultValue}} = {{{defaultValue}}}{{/defaultValue}}{{/required}};
{{/isEnum}}
{{^isEnum}}
{{#description}}/* {{{description}}} */
{{/description}}{{^required}}TOptional<{{/required}}{{{dataType}}}{{^required}}>{{/required}} {{paramName}}{{#required}}{{#defaultValue}} = {{{defaultValue}}}{{/defaultValue}}{{/required}};
{{/isEnum}}
{{/allParams}}
};
class {{dllapi}} {{classname}}::{{operationIdCamelCase}}Response : public Response
{
public:
virtual ~{{operationIdCamelCase}}Response() {}
{{#responses.0}}
void SetHttpResponseCode(EHttpResponseCodes::Type InHttpResponseCode) final;
{{/responses.0}}
bool FromJson(const TSharedPtr<FJsonValue>& JsonValue) final;
{{#returnType}}{{{returnType}}} Content;{{/returnType}}
};
{{/operation}}
{{/operations}}
{{#cppNamespaceDeclarations}}
}
{{/cppNamespaceDeclarations}}