forked from loafle/openapi-generator-original
[csharp][generichost] Added event on http response to facilitate server health tracking (#16046)
* added event on http response to facility server health tracking * renamed a file * handled the renamed file
This commit is contained in:
parent
aa1e9097ea
commit
fe78be405e
@ -1025,7 +1025,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
|
||||
supportingFiles.add(new SupportingFile("ApiFactory.mustache", clientPackageDir, "ApiFactory.cs"));
|
||||
supportingFiles.add(new SupportingFile("DateTimeJsonConverter.mustache", clientPackageDir, "DateTimeJsonConverter.cs"));
|
||||
supportingFiles.add(new SupportingFile("DateTimeNullableJsonConverter.mustache", clientPackageDir, "DateTimeNullableJsonConverter.cs"));
|
||||
supportingFiles.add(new SupportingFile("ApiResponseEventArgs.mustache", clientPackageDir, "ApiResponseEventArgs.cs"));
|
||||
supportingFiles.add(new SupportingFile("ApiResponseEventArgs`1.mustache", clientPackageDir, "ApiResponseEventArgs.cs"));
|
||||
supportingFiles.add(new SupportingFile("JsonSerializerOptionsProvider.mustache", clientPackageDir, "JsonSerializerOptionsProvider.cs"));
|
||||
supportingFiles.add(new SupportingFile("CookieContainer.mustache", clientPackageDir, "CookieContainer.cs"));
|
||||
supportingFiles.add(new SupportingFile("Option.mustache", clientPackageDir, "Option.cs"));
|
||||
|
@ -1,58 +0,0 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace {{packageName}}.{{clientPackage}}
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health.
|
||||
/// </summary>
|
||||
{{>visibility}} class ApiResponseEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The time the request was sent.
|
||||
/// </summary>
|
||||
public DateTime RequestedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The time the response was received.
|
||||
/// </summary>
|
||||
public DateTime ReceivedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The HttpStatusCode received.
|
||||
/// </summary>
|
||||
public HttpStatusCode HttpStatus { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The path requested.
|
||||
/// </summary>
|
||||
public string PathFormat { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The elapsed time from request to response.
|
||||
/// </summary>
|
||||
public TimeSpan ToTimeSpan => this.ReceivedAt - this.RequestedAt;
|
||||
|
||||
/// <summary>
|
||||
/// The path
|
||||
/// </summary>
|
||||
public string Path { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The event args used to track server health.
|
||||
/// </summary>
|
||||
/// <param name="requestedAt"></param>
|
||||
/// <param name="receivedAt"></param>
|
||||
/// <param name="httpStatus"></param>
|
||||
/// <param name="pathFormat"></param>
|
||||
/// <param name="path"></param>
|
||||
public ApiResponseEventArgs(DateTime requestedAt, DateTime receivedAt, HttpStatusCode httpStatus, string pathFormat, string path)
|
||||
{
|
||||
RequestedAt = requestedAt;
|
||||
ReceivedAt = receivedAt;
|
||||
HttpStatus = httpStatus;
|
||||
PathFormat = pathFormat;
|
||||
Path = path;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
using System;
|
||||
|
||||
namespace {{packageName}}.{{clientPackage}}
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health
|
||||
/// </summary>
|
||||
{{>visibility}} class ApiResponseEventArgs<T> : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The ApiResponse
|
||||
/// </summary>
|
||||
public ApiResponse<T> ApiResponse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The ApiResponseEventArgs
|
||||
/// </summary>
|
||||
/// <param name="apiResponse"></param>
|
||||
public ApiResponseEventArgs(ApiResponse<T> apiResponse)
|
||||
{
|
||||
ApiResponse = apiResponse;
|
||||
}
|
||||
}
|
||||
}
|
@ -49,6 +49,7 @@ namespace {{packageName}}.{{clientPackage}}
|
||||
{{/models}}
|
||||
_services.AddSingleton(new JsonSerializerOptionsProvider(_jsonOptions));
|
||||
_services.AddSingleton<IApiFactory, ApiFactory>();{{#apiInfo}}{{#apis}}
|
||||
_services.AddSingleton<{{classname}}Events>();
|
||||
_services.AddTransient<{{interfacePrefix}}{{classname}}, {{classname}}>();{{/apis}}{{/apiInfo}}
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using {{packageName}}.{{clientPackage}};
|
||||
using {{packageName}}.{{apiPackage}};
|
||||
{{#hasImport}}
|
||||
using {{packageName}}.{{modelPackage}};
|
||||
{{/hasImport}}
|
||||
@ -26,6 +27,11 @@ namespace {{packageName}}.{{interfacePrefix}}{{apiPackage}}
|
||||
/// </summary>
|
||||
{{>visibility}} interface {{interfacePrefix}}{{classname}} : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
{{classname}}Events Events { get; }
|
||||
|
||||
{{#operation}}
|
||||
/// <summary>
|
||||
/// {{summary}}
|
||||
@ -62,6 +68,28 @@ namespace {{packageName}}.{{interfacePrefix}}{{apiPackage}}
|
||||
|
||||
namespace {{packageName}}.{{apiPackage}}
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
{{>visibility}} class {{classname}}Events
|
||||
{
|
||||
{{#lambda.trimTrailingWhiteSpace}}
|
||||
{{#operation}}
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<{{{returnType}}}{{^returnType}}object{{/returnType}}>>{{nrt?}} On{{operationId}};
|
||||
|
||||
internal void ExecuteOn{{operationId}}(ApiResponse<{{{returnType}}}{{^returnType}}object{{/returnType}}> apiResponse)
|
||||
{
|
||||
On{{operationId}}?.Invoke(this, new ApiResponseEventArgs<{{{returnType}}}{{^returnType}}object{{/returnType}}>(apiResponse));
|
||||
}
|
||||
|
||||
{{/operation}}
|
||||
{{/lambda.trimTrailingWhiteSpace}}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -77,7 +105,12 @@ namespace {{packageName}}.{{apiPackage}}
|
||||
/// <summary>
|
||||
/// The HttpClient
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }{{#hasApiKeyMethods}}
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public {{classname}}Events Events { get; }{{#hasApiKeyMethods}}
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
@ -108,7 +141,7 @@ namespace {{packageName}}.{{apiPackage}}
|
||||
/// Initializes a new instance of the <see cref="{{classname}}"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public {{classname}}(ILogger<{{classname}}> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider{{#hasApiKeyMethods}},
|
||||
public {{classname}}(ILogger<{{classname}}> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, {{classname}}Events {{#lambda.camelcase_param}}{{classname}}Events{{/lambda.camelcase_param}}{{#hasApiKeyMethods}},
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider{{/hasApiKeyMethods}}{{#hasHttpBearerMethods}},
|
||||
TokenProvider<BearerToken> bearerTokenProvider{{/hasHttpBearerMethods}}{{#hasHttpBasicMethods}},
|
||||
TokenProvider<BasicToken> basicTokenProvider{{/hasHttpBasicMethods}}{{#hasHttpSignatureMethods}},
|
||||
@ -117,7 +150,8 @@ namespace {{packageName}}.{{apiPackage}}
|
||||
{
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;{{#hasApiKeyMethods}}
|
||||
HttpClient = httpClient;
|
||||
Events = {{#lambda.camelcase_param}}{{classname}}Events{{/lambda.camelcase_param}};{{#hasApiKeyMethods}}
|
||||
ApiKeyProvider = apiKeyProvider;{{/hasApiKeyMethods}}{{#hasHttpBearerMethods}}
|
||||
BearerTokenProvider = bearerTokenProvider;{{/hasHttpBearerMethods}}{{#hasHttpBasicMethods}}
|
||||
BasicTokenProvider = basicTokenProvider;{{/hasHttpBasicMethods}}{{#hasHttpSignatureMethods}}
|
||||
@ -496,10 +530,12 @@ namespace {{packageName}}.{{apiPackage}}
|
||||
{
|
||||
string responseContentLocalVar = await httpResponseMessageLocalVar.Content.ReadAsStringAsync({{#net60OrLater}}cancellationToken{{/net60OrLater}}).ConfigureAwait(false);
|
||||
|
||||
ApiResponse<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}object{{/returnType}}> apiResponseLocalVar = new ApiResponse<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}object{{/returnType}}>(httpRequestMessageLocalVar, httpResponseMessageLocalVar, responseContentLocalVar, "{{path}}", requestedAtLocalVar, _jsonSerializerOptions);
|
||||
ApiResponse<{{{returnType}}}{{^returnType}}object{{/returnType}}> apiResponseLocalVar = new ApiResponse<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}object{{/returnType}}>(httpRequestMessageLocalVar, httpResponseMessageLocalVar, responseContentLocalVar, "{{path}}", requestedAtLocalVar, _jsonSerializerOptions);
|
||||
|
||||
After{{operationId}}DefaultImplementation({{#lambda.joinWithComma}}apiResponseLocalVar {{#allParams}}{{paramName}} {{/allParams}}{{/lambda.joinWithComma}});
|
||||
|
||||
Events.ExecuteOn{{operationId}}(apiResponseLocalVar);
|
||||
|
||||
{{#authMethods}}
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IAnotherFakeApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
AnotherFakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// To test special tags
|
||||
/// </summary>
|
||||
@ -56,6 +62,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class AnotherFakeApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>>? OnCall123TestSpecialTags;
|
||||
|
||||
internal void ExecuteOnCall123TestSpecialTags(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnCall123TestSpecialTags?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -73,6 +96,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public AnotherFakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -102,7 +130,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="AnotherFakeApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public AnotherFakeApi(ILogger<AnotherFakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public AnotherFakeApi(ILogger<AnotherFakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, AnotherFakeApiEvents anotherFakeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -112,6 +140,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = anotherFakeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -253,6 +282,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCall123TestSpecialTagsDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnCall123TestSpecialTags(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IDefaultApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@ -98,6 +104,43 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class DefaultApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<FooGetDefaultResponse>>? OnFooGet;
|
||||
|
||||
internal void ExecuteOnFooGet(ApiResponse<FooGetDefaultResponse> apiResponse)
|
||||
{
|
||||
OnFooGet?.Invoke(this, new ApiResponseEventArgs<FooGetDefaultResponse>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnGetCountry;
|
||||
|
||||
internal void ExecuteOnGetCountry(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnGetCountry?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Guid>>>? OnHello;
|
||||
|
||||
internal void ExecuteOnHello(ApiResponse<List<Guid>> apiResponse)
|
||||
{
|
||||
OnHello?.Invoke(this, new ApiResponseEventArgs<List<Guid>>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -115,6 +158,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -144,7 +192,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="DefaultApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, DefaultApiEvents defaultApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -154,6 +202,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = defaultApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -259,6 +308,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFooGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnFooGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -401,6 +452,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetCountryDefaultImplementation(apiResponseLocalVar, country);
|
||||
|
||||
Events.ExecuteOnGetCountry(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -510,6 +563,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterHelloDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnHello(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IFakeApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
FakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Health check endpoint
|
||||
/// </summary>
|
||||
@ -446,6 +452,163 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class FakeApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<HealthCheckResult>>? OnFakeHealthGet;
|
||||
|
||||
internal void ExecuteOnFakeHealthGet(ApiResponse<HealthCheckResult> apiResponse)
|
||||
{
|
||||
OnFakeHealthGet?.Invoke(this, new ApiResponseEventArgs<HealthCheckResult>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<bool>>? OnFakeOuterBooleanSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterBooleanSerialize(ApiResponse<bool> apiResponse)
|
||||
{
|
||||
OnFakeOuterBooleanSerialize?.Invoke(this, new ApiResponseEventArgs<bool>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<OuterComposite>>? OnFakeOuterCompositeSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterCompositeSerialize(ApiResponse<OuterComposite> apiResponse)
|
||||
{
|
||||
OnFakeOuterCompositeSerialize?.Invoke(this, new ApiResponseEventArgs<OuterComposite>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<decimal>>? OnFakeOuterNumberSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterNumberSerialize(ApiResponse<decimal> apiResponse)
|
||||
{
|
||||
OnFakeOuterNumberSerialize?.Invoke(this, new ApiResponseEventArgs<decimal>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<string>>? OnFakeOuterStringSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterStringSerialize(ApiResponse<string> apiResponse)
|
||||
{
|
||||
OnFakeOuterStringSerialize?.Invoke(this, new ApiResponseEventArgs<string>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<OuterEnum>>>? OnGetArrayOfEnums;
|
||||
|
||||
internal void ExecuteOnGetArrayOfEnums(ApiResponse<List<OuterEnum>> apiResponse)
|
||||
{
|
||||
OnGetArrayOfEnums?.Invoke(this, new ApiResponseEventArgs<List<OuterEnum>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestBodyWithFileSchema;
|
||||
|
||||
internal void ExecuteOnTestBodyWithFileSchema(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestBodyWithFileSchema?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestBodyWithQueryParams;
|
||||
|
||||
internal void ExecuteOnTestBodyWithQueryParams(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestBodyWithQueryParams?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>>? OnTestClientModel;
|
||||
|
||||
internal void ExecuteOnTestClientModel(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnTestClientModel?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestEndpointParameters;
|
||||
|
||||
internal void ExecuteOnTestEndpointParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestEndpointParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestEnumParameters;
|
||||
|
||||
internal void ExecuteOnTestEnumParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestEnumParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestGroupParameters;
|
||||
|
||||
internal void ExecuteOnTestGroupParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestGroupParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestInlineAdditionalProperties;
|
||||
|
||||
internal void ExecuteOnTestInlineAdditionalProperties(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestInlineAdditionalProperties?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestJsonFormData;
|
||||
|
||||
internal void ExecuteOnTestJsonFormData(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestJsonFormData?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnTestQueryParameterCollectionFormat;
|
||||
|
||||
internal void ExecuteOnTestQueryParameterCollectionFormat(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestQueryParameterCollectionFormat?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -463,6 +626,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public FakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -492,7 +660,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="FakeApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public FakeApi(ILogger<FakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public FakeApi(ILogger<FakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, FakeApiEvents fakeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -502,6 +670,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = fakeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -607,6 +776,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeHealthGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnFakeHealthGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -740,6 +911,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterBooleanSerializeDefaultImplementation(apiResponseLocalVar, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterBooleanSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -886,6 +1059,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterCompositeSerializeDefaultImplementation(apiResponseLocalVar, outerComposite);
|
||||
|
||||
Events.ExecuteOnFakeOuterCompositeSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1019,6 +1194,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterNumberSerializeDefaultImplementation(apiResponseLocalVar, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterNumberSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1177,6 +1354,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterStringSerializeDefaultImplementation(apiResponseLocalVar, requiredStringUuid, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterStringSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1286,6 +1465,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetArrayOfEnumsDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnGetArrayOfEnums(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1422,6 +1603,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestBodyWithFileSchemaDefaultImplementation(apiResponseLocalVar, fileSchemaTestClass);
|
||||
|
||||
Events.ExecuteOnTestBodyWithFileSchema(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1574,6 +1757,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestBodyWithQueryParamsDefaultImplementation(apiResponseLocalVar, user, query);
|
||||
|
||||
Events.ExecuteOnTestBodyWithQueryParams(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1719,6 +1904,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestClientModelDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnTestClientModel(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2003,6 +2190,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestEndpointParametersDefaultImplementation(apiResponseLocalVar, varByte, number, varDouble, patternWithoutDelimiter, date, binary, varFloat, integer, int32, int64, varString, password, callback, dateTime);
|
||||
|
||||
Events.ExecuteOnTestEndpointParameters(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -2235,6 +2424,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestEnumParametersDefaultImplementation(apiResponseLocalVar, enumHeaderStringArray, enumQueryStringArray, enumQueryDouble, enumQueryInteger, enumFormStringArray, enumHeaderString, enumQueryString, enumFormString);
|
||||
|
||||
Events.ExecuteOnTestEnumParameters(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2401,6 +2592,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestGroupParametersDefaultImplementation(apiResponseLocalVar, requiredBooleanGroup, requiredStringGroup, requiredInt64Group, booleanGroup, stringGroup, int64Group);
|
||||
|
||||
Events.ExecuteOnTestGroupParameters(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -2541,6 +2734,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestInlineAdditionalPropertiesDefaultImplementation(apiResponseLocalVar, requestBody);
|
||||
|
||||
Events.ExecuteOnTestInlineAdditionalProperties(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2695,6 +2890,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestJsonFormDataDefaultImplementation(apiResponseLocalVar, param, param2);
|
||||
|
||||
Events.ExecuteOnTestJsonFormData(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2908,6 +3105,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestQueryParameterCollectionFormatDefaultImplementation(apiResponseLocalVar, pipe, ioutil, http, url, context, requiredNotNullable, requiredNullable, notRequiredNotNullable, notRequiredNullable);
|
||||
|
||||
Events.ExecuteOnTestQueryParameterCollectionFormat(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IFakeClassnameTags123Api : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
FakeClassnameTags123ApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// To test class name in snake case
|
||||
/// </summary>
|
||||
@ -56,6 +62,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class FakeClassnameTags123ApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>>? OnTestClassname;
|
||||
|
||||
internal void ExecuteOnTestClassname(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnTestClassname?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -73,6 +96,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public FakeClassnameTags123ApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -102,7 +130,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="FakeClassnameTags123Api"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public FakeClassnameTags123Api(ILogger<FakeClassnameTags123Api> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public FakeClassnameTags123Api(ILogger<FakeClassnameTags123Api> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, FakeClassnameTags123ApiEvents fakeClassnameTags123ApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -112,6 +140,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = fakeClassnameTags123ApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -264,6 +293,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestClassnameDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnTestClassname(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IPetApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
PetApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Add a new pet to the store
|
||||
/// </summary>
|
||||
@ -254,6 +260,103 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class PetApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnAddPet;
|
||||
|
||||
internal void ExecuteOnAddPet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnAddPet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnDeletePet;
|
||||
|
||||
internal void ExecuteOnDeletePet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeletePet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Pet>>>? OnFindPetsByStatus;
|
||||
|
||||
internal void ExecuteOnFindPetsByStatus(ApiResponse<List<Pet>> apiResponse)
|
||||
{
|
||||
OnFindPetsByStatus?.Invoke(this, new ApiResponseEventArgs<List<Pet>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Pet>>>? OnFindPetsByTags;
|
||||
|
||||
internal void ExecuteOnFindPetsByTags(ApiResponse<List<Pet>> apiResponse)
|
||||
{
|
||||
OnFindPetsByTags?.Invoke(this, new ApiResponseEventArgs<List<Pet>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Pet>>? OnGetPetById;
|
||||
|
||||
internal void ExecuteOnGetPetById(ApiResponse<Pet> apiResponse)
|
||||
{
|
||||
OnGetPetById?.Invoke(this, new ApiResponseEventArgs<Pet>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnUpdatePet;
|
||||
|
||||
internal void ExecuteOnUpdatePet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdatePet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnUpdatePetWithForm;
|
||||
|
||||
internal void ExecuteOnUpdatePetWithForm(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdatePetWithForm?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ApiResponse>>? OnUploadFile;
|
||||
|
||||
internal void ExecuteOnUploadFile(ApiResponse<ApiResponse> apiResponse)
|
||||
{
|
||||
OnUploadFile?.Invoke(this, new ApiResponseEventArgs<ApiResponse>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ApiResponse>>? OnUploadFileWithRequiredFile;
|
||||
|
||||
internal void ExecuteOnUploadFileWithRequiredFile(ApiResponse<ApiResponse> apiResponse)
|
||||
{
|
||||
OnUploadFileWithRequiredFile?.Invoke(this, new ApiResponseEventArgs<ApiResponse>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -271,6 +374,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public PetApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -300,7 +408,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="PetApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public PetApi(ILogger<PetApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public PetApi(ILogger<PetApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, PetApiEvents petApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -310,6 +418,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = petApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -461,6 +570,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterAddPetDefaultImplementation(apiResponseLocalVar, pet);
|
||||
|
||||
Events.ExecuteOnAddPet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -610,6 +721,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeletePetDefaultImplementation(apiResponseLocalVar, petId, apiKey);
|
||||
|
||||
Events.ExecuteOnDeletePet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -771,6 +884,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFindPetsByStatusDefaultImplementation(apiResponseLocalVar, status);
|
||||
|
||||
Events.ExecuteOnFindPetsByStatus(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -936,6 +1051,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFindPetsByTagsDefaultImplementation(apiResponseLocalVar, tags);
|
||||
|
||||
Events.ExecuteOnFindPetsByTags(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1073,6 +1190,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetPetByIdDefaultImplementation(apiResponseLocalVar, petId);
|
||||
|
||||
Events.ExecuteOnGetPetById(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1232,6 +1351,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdatePetDefaultImplementation(apiResponseLocalVar, pet);
|
||||
|
||||
Events.ExecuteOnUpdatePet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1409,6 +1530,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdatePetWithFormDefaultImplementation(apiResponseLocalVar, petId, name, status);
|
||||
|
||||
Events.ExecuteOnUpdatePetWithForm(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1591,6 +1714,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUploadFileDefaultImplementation(apiResponseLocalVar, petId, file, additionalMetadata);
|
||||
|
||||
Events.ExecuteOnUploadFile(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1773,6 +1898,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUploadFileWithRequiredFileDefaultImplementation(apiResponseLocalVar, requiredFile, petId, additionalMetadata);
|
||||
|
||||
Events.ExecuteOnUploadFileWithRequiredFile(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IStoreApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
StoreApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Delete purchase order by ID
|
||||
/// </summary>
|
||||
@ -123,6 +129,53 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class StoreApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnDeleteOrder;
|
||||
|
||||
internal void ExecuteOnDeleteOrder(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeleteOrder?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Dictionary<string, int>>>? OnGetInventory;
|
||||
|
||||
internal void ExecuteOnGetInventory(ApiResponse<Dictionary<string, int>> apiResponse)
|
||||
{
|
||||
OnGetInventory?.Invoke(this, new ApiResponseEventArgs<Dictionary<string, int>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Order>>? OnGetOrderById;
|
||||
|
||||
internal void ExecuteOnGetOrderById(ApiResponse<Order> apiResponse)
|
||||
{
|
||||
OnGetOrderById?.Invoke(this, new ApiResponseEventArgs<Order>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Order>>? OnPlaceOrder;
|
||||
|
||||
internal void ExecuteOnPlaceOrder(ApiResponse<Order> apiResponse)
|
||||
{
|
||||
OnPlaceOrder?.Invoke(this, new ApiResponseEventArgs<Order>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -140,6 +193,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public StoreApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -169,7 +227,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="StoreApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public StoreApi(ILogger<StoreApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public StoreApi(ILogger<StoreApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, StoreApiEvents storeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -179,6 +237,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = storeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -299,6 +358,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeleteOrderDefaultImplementation(apiResponseLocalVar, orderId);
|
||||
|
||||
Events.ExecuteOnDeleteOrder(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -416,6 +477,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetInventoryDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnGetInventory(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -541,6 +604,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetOrderByIdDefaultImplementation(apiResponseLocalVar, orderId);
|
||||
|
||||
Events.ExecuteOnGetOrderById(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -687,6 +752,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterPlaceOrderDefaultImplementation(apiResponseLocalVar, order);
|
||||
|
||||
Events.ExecuteOnPlaceOrder(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IUserApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
UserApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Create user
|
||||
/// </summary>
|
||||
@ -219,6 +225,93 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class UserApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnCreateUser;
|
||||
|
||||
internal void ExecuteOnCreateUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnCreateUsersWithArrayInput;
|
||||
|
||||
internal void ExecuteOnCreateUsersWithArrayInput(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUsersWithArrayInput?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnCreateUsersWithListInput;
|
||||
|
||||
internal void ExecuteOnCreateUsersWithListInput(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUsersWithListInput?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnDeleteUser;
|
||||
|
||||
internal void ExecuteOnDeleteUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeleteUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<User>>? OnGetUserByName;
|
||||
|
||||
internal void ExecuteOnGetUserByName(ApiResponse<User> apiResponse)
|
||||
{
|
||||
OnGetUserByName?.Invoke(this, new ApiResponseEventArgs<User>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<string>>? OnLoginUser;
|
||||
|
||||
internal void ExecuteOnLoginUser(ApiResponse<string> apiResponse)
|
||||
{
|
||||
OnLoginUser?.Invoke(this, new ApiResponseEventArgs<string>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnLogoutUser;
|
||||
|
||||
internal void ExecuteOnLogoutUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnLogoutUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>>? OnUpdateUser;
|
||||
|
||||
internal void ExecuteOnUpdateUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdateUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -236,6 +329,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public UserApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -265,7 +363,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="UserApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public UserApi(ILogger<UserApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public UserApi(ILogger<UserApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, UserApiEvents userApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -275,6 +373,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = userApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -407,6 +506,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUserDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -543,6 +644,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUsersWithArrayInputDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUsersWithArrayInput(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -679,6 +782,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUsersWithListInputDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUsersWithListInput(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -803,6 +908,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeleteUserDefaultImplementation(apiResponseLocalVar, username);
|
||||
|
||||
Events.ExecuteOnDeleteUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -937,6 +1044,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetUserByNameDefaultImplementation(apiResponseLocalVar, username);
|
||||
|
||||
Events.ExecuteOnGetUserByName(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1087,6 +1196,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterLoginUserDefaultImplementation(apiResponseLocalVar, username, password);
|
||||
|
||||
Events.ExecuteOnLoginUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1187,6 +1298,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterLogoutUserDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnLogoutUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1334,6 +1447,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdateUserDefaultImplementation(apiResponseLocalVar, user, username);
|
||||
|
||||
Events.ExecuteOnUpdateUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +1,24 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace Org.OpenAPITools.Client
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health.
|
||||
/// Useful for tracking server health
|
||||
/// </summary>
|
||||
public class ApiResponseEventArgs : EventArgs
|
||||
public class ApiResponseEventArgs<T> : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The time the request was sent.
|
||||
/// The ApiResponse
|
||||
/// </summary>
|
||||
public DateTime RequestedAt { get; }
|
||||
public ApiResponse<T> ApiResponse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The time the response was received.
|
||||
/// The ApiResponseEventArgs
|
||||
/// </summary>
|
||||
public DateTime ReceivedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The HttpStatusCode received.
|
||||
/// </summary>
|
||||
public HttpStatusCode HttpStatus { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The path requested.
|
||||
/// </summary>
|
||||
public string PathFormat { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The elapsed time from request to response.
|
||||
/// </summary>
|
||||
public TimeSpan ToTimeSpan => this.ReceivedAt - this.RequestedAt;
|
||||
|
||||
/// <summary>
|
||||
/// The path
|
||||
/// </summary>
|
||||
public string Path { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The event args used to track server health.
|
||||
/// </summary>
|
||||
/// <param name="requestedAt"></param>
|
||||
/// <param name="receivedAt"></param>
|
||||
/// <param name="httpStatus"></param>
|
||||
/// <param name="pathFormat"></param>
|
||||
/// <param name="path"></param>
|
||||
public ApiResponseEventArgs(DateTime requestedAt, DateTime receivedAt, HttpStatusCode httpStatus, string pathFormat, string path)
|
||||
/// <param name="apiResponse"></param>
|
||||
public ApiResponseEventArgs(ApiResponse<T> apiResponse)
|
||||
{
|
||||
RequestedAt = requestedAt;
|
||||
ReceivedAt = receivedAt;
|
||||
HttpStatus = httpStatus;
|
||||
PathFormat = pathFormat;
|
||||
Path = path;
|
||||
ApiResponse = apiResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -134,12 +134,19 @@ namespace Org.OpenAPITools.Client
|
||||
_jsonOptions.Converters.Add(new ZeroBasedEnumClassJsonConverter());
|
||||
_services.AddSingleton(new JsonSerializerOptionsProvider(_jsonOptions));
|
||||
_services.AddSingleton<IApiFactory, ApiFactory>();
|
||||
_services.AddSingleton<AnotherFakeApiEvents>();
|
||||
_services.AddTransient<IAnotherFakeApi, AnotherFakeApi>();
|
||||
_services.AddSingleton<DefaultApiEvents>();
|
||||
_services.AddTransient<IDefaultApi, DefaultApi>();
|
||||
_services.AddSingleton<FakeApiEvents>();
|
||||
_services.AddTransient<IFakeApi, FakeApi>();
|
||||
_services.AddSingleton<FakeClassnameTags123ApiEvents>();
|
||||
_services.AddTransient<IFakeClassnameTags123Api, FakeClassnameTags123Api>();
|
||||
_services.AddSingleton<PetApiEvents>();
|
||||
_services.AddTransient<IPetApi, PetApi>();
|
||||
_services.AddSingleton<StoreApiEvents>();
|
||||
_services.AddTransient<IStoreApi, StoreApi>();
|
||||
_services.AddSingleton<UserApiEvents>();
|
||||
_services.AddTransient<IUserApi, UserApi>();
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IAnotherFakeApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
AnotherFakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// To test special tags
|
||||
/// </summary>
|
||||
@ -54,6 +60,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class AnotherFakeApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>> OnCall123TestSpecialTags;
|
||||
|
||||
internal void ExecuteOnCall123TestSpecialTags(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnCall123TestSpecialTags?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -71,6 +94,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public AnotherFakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -100,7 +128,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="AnotherFakeApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public AnotherFakeApi(ILogger<AnotherFakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public AnotherFakeApi(ILogger<AnotherFakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, AnotherFakeApiEvents anotherFakeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -110,6 +138,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = anotherFakeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -251,6 +280,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCall123TestSpecialTagsDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnCall123TestSpecialTags(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IDefaultApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@ -96,6 +102,43 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class DefaultApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<FooGetDefaultResponse>> OnFooGet;
|
||||
|
||||
internal void ExecuteOnFooGet(ApiResponse<FooGetDefaultResponse> apiResponse)
|
||||
{
|
||||
OnFooGet?.Invoke(this, new ApiResponseEventArgs<FooGetDefaultResponse>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnGetCountry;
|
||||
|
||||
internal void ExecuteOnGetCountry(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnGetCountry?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Guid>>> OnHello;
|
||||
|
||||
internal void ExecuteOnHello(ApiResponse<List<Guid>> apiResponse)
|
||||
{
|
||||
OnHello?.Invoke(this, new ApiResponseEventArgs<List<Guid>>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -113,6 +156,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -142,7 +190,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="DefaultApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, DefaultApiEvents defaultApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -152,6 +200,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = defaultApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -257,6 +306,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFooGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnFooGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -399,6 +450,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetCountryDefaultImplementation(apiResponseLocalVar, country);
|
||||
|
||||
Events.ExecuteOnGetCountry(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -508,6 +561,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterHelloDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnHello(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IFakeApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
FakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Health check endpoint
|
||||
/// </summary>
|
||||
@ -444,6 +450,163 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class FakeApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<HealthCheckResult>> OnFakeHealthGet;
|
||||
|
||||
internal void ExecuteOnFakeHealthGet(ApiResponse<HealthCheckResult> apiResponse)
|
||||
{
|
||||
OnFakeHealthGet?.Invoke(this, new ApiResponseEventArgs<HealthCheckResult>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<bool>> OnFakeOuterBooleanSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterBooleanSerialize(ApiResponse<bool> apiResponse)
|
||||
{
|
||||
OnFakeOuterBooleanSerialize?.Invoke(this, new ApiResponseEventArgs<bool>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<OuterComposite>> OnFakeOuterCompositeSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterCompositeSerialize(ApiResponse<OuterComposite> apiResponse)
|
||||
{
|
||||
OnFakeOuterCompositeSerialize?.Invoke(this, new ApiResponseEventArgs<OuterComposite>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<decimal>> OnFakeOuterNumberSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterNumberSerialize(ApiResponse<decimal> apiResponse)
|
||||
{
|
||||
OnFakeOuterNumberSerialize?.Invoke(this, new ApiResponseEventArgs<decimal>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<string>> OnFakeOuterStringSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterStringSerialize(ApiResponse<string> apiResponse)
|
||||
{
|
||||
OnFakeOuterStringSerialize?.Invoke(this, new ApiResponseEventArgs<string>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<OuterEnum>>> OnGetArrayOfEnums;
|
||||
|
||||
internal void ExecuteOnGetArrayOfEnums(ApiResponse<List<OuterEnum>> apiResponse)
|
||||
{
|
||||
OnGetArrayOfEnums?.Invoke(this, new ApiResponseEventArgs<List<OuterEnum>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestBodyWithFileSchema;
|
||||
|
||||
internal void ExecuteOnTestBodyWithFileSchema(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestBodyWithFileSchema?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestBodyWithQueryParams;
|
||||
|
||||
internal void ExecuteOnTestBodyWithQueryParams(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestBodyWithQueryParams?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>> OnTestClientModel;
|
||||
|
||||
internal void ExecuteOnTestClientModel(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnTestClientModel?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestEndpointParameters;
|
||||
|
||||
internal void ExecuteOnTestEndpointParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestEndpointParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestEnumParameters;
|
||||
|
||||
internal void ExecuteOnTestEnumParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestEnumParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestGroupParameters;
|
||||
|
||||
internal void ExecuteOnTestGroupParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestGroupParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestInlineAdditionalProperties;
|
||||
|
||||
internal void ExecuteOnTestInlineAdditionalProperties(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestInlineAdditionalProperties?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestJsonFormData;
|
||||
|
||||
internal void ExecuteOnTestJsonFormData(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestJsonFormData?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestQueryParameterCollectionFormat;
|
||||
|
||||
internal void ExecuteOnTestQueryParameterCollectionFormat(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestQueryParameterCollectionFormat?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -461,6 +624,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public FakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -490,7 +658,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="FakeApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public FakeApi(ILogger<FakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public FakeApi(ILogger<FakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, FakeApiEvents fakeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -500,6 +668,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = fakeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -605,6 +774,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeHealthGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnFakeHealthGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -738,6 +909,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterBooleanSerializeDefaultImplementation(apiResponseLocalVar, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterBooleanSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -884,6 +1057,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterCompositeSerializeDefaultImplementation(apiResponseLocalVar, outerComposite);
|
||||
|
||||
Events.ExecuteOnFakeOuterCompositeSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1017,6 +1192,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterNumberSerializeDefaultImplementation(apiResponseLocalVar, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterNumberSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1175,6 +1352,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterStringSerializeDefaultImplementation(apiResponseLocalVar, requiredStringUuid, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterStringSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1284,6 +1463,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetArrayOfEnumsDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnGetArrayOfEnums(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1420,6 +1601,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestBodyWithFileSchemaDefaultImplementation(apiResponseLocalVar, fileSchemaTestClass);
|
||||
|
||||
Events.ExecuteOnTestBodyWithFileSchema(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1572,6 +1755,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestBodyWithQueryParamsDefaultImplementation(apiResponseLocalVar, user, query);
|
||||
|
||||
Events.ExecuteOnTestBodyWithQueryParams(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1717,6 +1902,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestClientModelDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnTestClientModel(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2001,6 +2188,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestEndpointParametersDefaultImplementation(apiResponseLocalVar, varByte, number, varDouble, patternWithoutDelimiter, date, binary, varFloat, integer, int32, int64, varString, password, callback, dateTime);
|
||||
|
||||
Events.ExecuteOnTestEndpointParameters(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -2233,6 +2422,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestEnumParametersDefaultImplementation(apiResponseLocalVar, enumHeaderStringArray, enumQueryStringArray, enumQueryDouble, enumQueryInteger, enumFormStringArray, enumHeaderString, enumQueryString, enumFormString);
|
||||
|
||||
Events.ExecuteOnTestEnumParameters(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2399,6 +2590,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestGroupParametersDefaultImplementation(apiResponseLocalVar, requiredBooleanGroup, requiredStringGroup, requiredInt64Group, booleanGroup, stringGroup, int64Group);
|
||||
|
||||
Events.ExecuteOnTestGroupParameters(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -2539,6 +2732,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestInlineAdditionalPropertiesDefaultImplementation(apiResponseLocalVar, requestBody);
|
||||
|
||||
Events.ExecuteOnTestInlineAdditionalProperties(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2693,6 +2888,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestJsonFormDataDefaultImplementation(apiResponseLocalVar, param, param2);
|
||||
|
||||
Events.ExecuteOnTestJsonFormData(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2906,6 +3103,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestQueryParameterCollectionFormatDefaultImplementation(apiResponseLocalVar, pipe, ioutil, http, url, context, requiredNotNullable, requiredNullable, notRequiredNotNullable, notRequiredNullable);
|
||||
|
||||
Events.ExecuteOnTestQueryParameterCollectionFormat(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IFakeClassnameTags123Api : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
FakeClassnameTags123ApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// To test class name in snake case
|
||||
/// </summary>
|
||||
@ -54,6 +60,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class FakeClassnameTags123ApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>> OnTestClassname;
|
||||
|
||||
internal void ExecuteOnTestClassname(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnTestClassname?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -71,6 +94,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public FakeClassnameTags123ApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -100,7 +128,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="FakeClassnameTags123Api"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public FakeClassnameTags123Api(ILogger<FakeClassnameTags123Api> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public FakeClassnameTags123Api(ILogger<FakeClassnameTags123Api> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, FakeClassnameTags123ApiEvents fakeClassnameTags123ApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -110,6 +138,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = fakeClassnameTags123ApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -262,6 +291,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestClassnameDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnTestClassname(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IPetApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
PetApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Add a new pet to the store
|
||||
/// </summary>
|
||||
@ -252,6 +258,103 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class PetApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnAddPet;
|
||||
|
||||
internal void ExecuteOnAddPet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnAddPet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnDeletePet;
|
||||
|
||||
internal void ExecuteOnDeletePet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeletePet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Pet>>> OnFindPetsByStatus;
|
||||
|
||||
internal void ExecuteOnFindPetsByStatus(ApiResponse<List<Pet>> apiResponse)
|
||||
{
|
||||
OnFindPetsByStatus?.Invoke(this, new ApiResponseEventArgs<List<Pet>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Pet>>> OnFindPetsByTags;
|
||||
|
||||
internal void ExecuteOnFindPetsByTags(ApiResponse<List<Pet>> apiResponse)
|
||||
{
|
||||
OnFindPetsByTags?.Invoke(this, new ApiResponseEventArgs<List<Pet>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Pet>> OnGetPetById;
|
||||
|
||||
internal void ExecuteOnGetPetById(ApiResponse<Pet> apiResponse)
|
||||
{
|
||||
OnGetPetById?.Invoke(this, new ApiResponseEventArgs<Pet>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnUpdatePet;
|
||||
|
||||
internal void ExecuteOnUpdatePet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdatePet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnUpdatePetWithForm;
|
||||
|
||||
internal void ExecuteOnUpdatePetWithForm(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdatePetWithForm?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ApiResponse>> OnUploadFile;
|
||||
|
||||
internal void ExecuteOnUploadFile(ApiResponse<ApiResponse> apiResponse)
|
||||
{
|
||||
OnUploadFile?.Invoke(this, new ApiResponseEventArgs<ApiResponse>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ApiResponse>> OnUploadFileWithRequiredFile;
|
||||
|
||||
internal void ExecuteOnUploadFileWithRequiredFile(ApiResponse<ApiResponse> apiResponse)
|
||||
{
|
||||
OnUploadFileWithRequiredFile?.Invoke(this, new ApiResponseEventArgs<ApiResponse>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -269,6 +372,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public PetApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -298,7 +406,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="PetApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public PetApi(ILogger<PetApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public PetApi(ILogger<PetApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, PetApiEvents petApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -308,6 +416,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = petApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -459,6 +568,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterAddPetDefaultImplementation(apiResponseLocalVar, pet);
|
||||
|
||||
Events.ExecuteOnAddPet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -608,6 +719,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeletePetDefaultImplementation(apiResponseLocalVar, petId, apiKey);
|
||||
|
||||
Events.ExecuteOnDeletePet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -769,6 +882,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFindPetsByStatusDefaultImplementation(apiResponseLocalVar, status);
|
||||
|
||||
Events.ExecuteOnFindPetsByStatus(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -934,6 +1049,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFindPetsByTagsDefaultImplementation(apiResponseLocalVar, tags);
|
||||
|
||||
Events.ExecuteOnFindPetsByTags(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1071,6 +1188,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetPetByIdDefaultImplementation(apiResponseLocalVar, petId);
|
||||
|
||||
Events.ExecuteOnGetPetById(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1230,6 +1349,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdatePetDefaultImplementation(apiResponseLocalVar, pet);
|
||||
|
||||
Events.ExecuteOnUpdatePet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1407,6 +1528,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdatePetWithFormDefaultImplementation(apiResponseLocalVar, petId, name, status);
|
||||
|
||||
Events.ExecuteOnUpdatePetWithForm(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1589,6 +1712,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUploadFileDefaultImplementation(apiResponseLocalVar, petId, file, additionalMetadata);
|
||||
|
||||
Events.ExecuteOnUploadFile(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1771,6 +1896,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUploadFileWithRequiredFileDefaultImplementation(apiResponseLocalVar, requiredFile, petId, additionalMetadata);
|
||||
|
||||
Events.ExecuteOnUploadFileWithRequiredFile(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IStoreApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
StoreApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Delete purchase order by ID
|
||||
/// </summary>
|
||||
@ -121,6 +127,53 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class StoreApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnDeleteOrder;
|
||||
|
||||
internal void ExecuteOnDeleteOrder(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeleteOrder?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Dictionary<string, int>>> OnGetInventory;
|
||||
|
||||
internal void ExecuteOnGetInventory(ApiResponse<Dictionary<string, int>> apiResponse)
|
||||
{
|
||||
OnGetInventory?.Invoke(this, new ApiResponseEventArgs<Dictionary<string, int>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Order>> OnGetOrderById;
|
||||
|
||||
internal void ExecuteOnGetOrderById(ApiResponse<Order> apiResponse)
|
||||
{
|
||||
OnGetOrderById?.Invoke(this, new ApiResponseEventArgs<Order>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Order>> OnPlaceOrder;
|
||||
|
||||
internal void ExecuteOnPlaceOrder(ApiResponse<Order> apiResponse)
|
||||
{
|
||||
OnPlaceOrder?.Invoke(this, new ApiResponseEventArgs<Order>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -138,6 +191,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public StoreApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -167,7 +225,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="StoreApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public StoreApi(ILogger<StoreApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public StoreApi(ILogger<StoreApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, StoreApiEvents storeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -177,6 +235,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = storeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -297,6 +356,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeleteOrderDefaultImplementation(apiResponseLocalVar, orderId);
|
||||
|
||||
Events.ExecuteOnDeleteOrder(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -414,6 +475,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetInventoryDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnGetInventory(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -539,6 +602,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetOrderByIdDefaultImplementation(apiResponseLocalVar, orderId);
|
||||
|
||||
Events.ExecuteOnGetOrderById(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -685,6 +750,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterPlaceOrderDefaultImplementation(apiResponseLocalVar, order);
|
||||
|
||||
Events.ExecuteOnPlaceOrder(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IUserApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
UserApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Create user
|
||||
/// </summary>
|
||||
@ -217,6 +223,93 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class UserApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnCreateUser;
|
||||
|
||||
internal void ExecuteOnCreateUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnCreateUsersWithArrayInput;
|
||||
|
||||
internal void ExecuteOnCreateUsersWithArrayInput(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUsersWithArrayInput?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnCreateUsersWithListInput;
|
||||
|
||||
internal void ExecuteOnCreateUsersWithListInput(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUsersWithListInput?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnDeleteUser;
|
||||
|
||||
internal void ExecuteOnDeleteUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeleteUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<User>> OnGetUserByName;
|
||||
|
||||
internal void ExecuteOnGetUserByName(ApiResponse<User> apiResponse)
|
||||
{
|
||||
OnGetUserByName?.Invoke(this, new ApiResponseEventArgs<User>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<string>> OnLoginUser;
|
||||
|
||||
internal void ExecuteOnLoginUser(ApiResponse<string> apiResponse)
|
||||
{
|
||||
OnLoginUser?.Invoke(this, new ApiResponseEventArgs<string>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnLogoutUser;
|
||||
|
||||
internal void ExecuteOnLogoutUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnLogoutUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnUpdateUser;
|
||||
|
||||
internal void ExecuteOnUpdateUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdateUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -234,6 +327,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public UserApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -263,7 +361,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="UserApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public UserApi(ILogger<UserApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public UserApi(ILogger<UserApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, UserApiEvents userApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -273,6 +371,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = userApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -405,6 +504,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUserDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -541,6 +642,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUsersWithArrayInputDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUsersWithArrayInput(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -677,6 +780,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUsersWithListInputDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUsersWithListInput(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -801,6 +906,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeleteUserDefaultImplementation(apiResponseLocalVar, username);
|
||||
|
||||
Events.ExecuteOnDeleteUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -935,6 +1042,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetUserByNameDefaultImplementation(apiResponseLocalVar, username);
|
||||
|
||||
Events.ExecuteOnGetUserByName(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1085,6 +1194,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterLoginUserDefaultImplementation(apiResponseLocalVar, username, password);
|
||||
|
||||
Events.ExecuteOnLoginUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1185,6 +1296,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterLogoutUserDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnLogoutUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1332,6 +1445,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdateUserDefaultImplementation(apiResponseLocalVar, user, username);
|
||||
|
||||
Events.ExecuteOnUpdateUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +1,24 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace Org.OpenAPITools.Client
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health.
|
||||
/// Useful for tracking server health
|
||||
/// </summary>
|
||||
public class ApiResponseEventArgs : EventArgs
|
||||
public class ApiResponseEventArgs<T> : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The time the request was sent.
|
||||
/// The ApiResponse
|
||||
/// </summary>
|
||||
public DateTime RequestedAt { get; }
|
||||
public ApiResponse<T> ApiResponse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The time the response was received.
|
||||
/// The ApiResponseEventArgs
|
||||
/// </summary>
|
||||
public DateTime ReceivedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The HttpStatusCode received.
|
||||
/// </summary>
|
||||
public HttpStatusCode HttpStatus { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The path requested.
|
||||
/// </summary>
|
||||
public string PathFormat { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The elapsed time from request to response.
|
||||
/// </summary>
|
||||
public TimeSpan ToTimeSpan => this.ReceivedAt - this.RequestedAt;
|
||||
|
||||
/// <summary>
|
||||
/// The path
|
||||
/// </summary>
|
||||
public string Path { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The event args used to track server health.
|
||||
/// </summary>
|
||||
/// <param name="requestedAt"></param>
|
||||
/// <param name="receivedAt"></param>
|
||||
/// <param name="httpStatus"></param>
|
||||
/// <param name="pathFormat"></param>
|
||||
/// <param name="path"></param>
|
||||
public ApiResponseEventArgs(DateTime requestedAt, DateTime receivedAt, HttpStatusCode httpStatus, string pathFormat, string path)
|
||||
/// <param name="apiResponse"></param>
|
||||
public ApiResponseEventArgs(ApiResponse<T> apiResponse)
|
||||
{
|
||||
RequestedAt = requestedAt;
|
||||
ReceivedAt = receivedAt;
|
||||
HttpStatus = httpStatus;
|
||||
PathFormat = pathFormat;
|
||||
Path = path;
|
||||
ApiResponse = apiResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -132,12 +132,19 @@ namespace Org.OpenAPITools.Client
|
||||
_jsonOptions.Converters.Add(new ZeroBasedEnumClassJsonConverter());
|
||||
_services.AddSingleton(new JsonSerializerOptionsProvider(_jsonOptions));
|
||||
_services.AddSingleton<IApiFactory, ApiFactory>();
|
||||
_services.AddSingleton<AnotherFakeApiEvents>();
|
||||
_services.AddTransient<IAnotherFakeApi, AnotherFakeApi>();
|
||||
_services.AddSingleton<DefaultApiEvents>();
|
||||
_services.AddTransient<IDefaultApi, DefaultApi>();
|
||||
_services.AddSingleton<FakeApiEvents>();
|
||||
_services.AddTransient<IFakeApi, FakeApi>();
|
||||
_services.AddSingleton<FakeClassnameTags123ApiEvents>();
|
||||
_services.AddTransient<IFakeClassnameTags123Api, FakeClassnameTags123Api>();
|
||||
_services.AddSingleton<PetApiEvents>();
|
||||
_services.AddTransient<IPetApi, PetApi>();
|
||||
_services.AddSingleton<StoreApiEvents>();
|
||||
_services.AddTransient<IStoreApi, StoreApi>();
|
||||
_services.AddSingleton<UserApiEvents>();
|
||||
_services.AddTransient<IUserApi, UserApi>();
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IDefaultApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@ -56,6 +62,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class DefaultApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Person>>? OnList;
|
||||
|
||||
internal void ExecuteOnList(ApiResponse<Person> apiResponse)
|
||||
{
|
||||
OnList?.Invoke(this, new ApiResponseEventArgs<Person>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -73,15 +96,21 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DefaultApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider)
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, DefaultApiEvents defaultApiEvents)
|
||||
{
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = defaultApiEvents;
|
||||
}
|
||||
|
||||
partial void FormatList(ref string personId);
|
||||
@ -206,6 +235,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterListDefaultImplementation(apiResponseLocalVar, personId);
|
||||
|
||||
Events.ExecuteOnList(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +1,24 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace Org.OpenAPITools.Client
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health.
|
||||
/// Useful for tracking server health
|
||||
/// </summary>
|
||||
public class ApiResponseEventArgs : EventArgs
|
||||
public class ApiResponseEventArgs<T> : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The time the request was sent.
|
||||
/// The ApiResponse
|
||||
/// </summary>
|
||||
public DateTime RequestedAt { get; }
|
||||
public ApiResponse<T> ApiResponse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The time the response was received.
|
||||
/// The ApiResponseEventArgs
|
||||
/// </summary>
|
||||
public DateTime ReceivedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The HttpStatusCode received.
|
||||
/// </summary>
|
||||
public HttpStatusCode HttpStatus { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The path requested.
|
||||
/// </summary>
|
||||
public string PathFormat { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The elapsed time from request to response.
|
||||
/// </summary>
|
||||
public TimeSpan ToTimeSpan => this.ReceivedAt - this.RequestedAt;
|
||||
|
||||
/// <summary>
|
||||
/// The path
|
||||
/// </summary>
|
||||
public string Path { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The event args used to track server health.
|
||||
/// </summary>
|
||||
/// <param name="requestedAt"></param>
|
||||
/// <param name="receivedAt"></param>
|
||||
/// <param name="httpStatus"></param>
|
||||
/// <param name="pathFormat"></param>
|
||||
/// <param name="path"></param>
|
||||
public ApiResponseEventArgs(DateTime requestedAt, DateTime receivedAt, HttpStatusCode httpStatus, string pathFormat, string path)
|
||||
/// <param name="apiResponse"></param>
|
||||
public ApiResponseEventArgs(ApiResponse<T> apiResponse)
|
||||
{
|
||||
RequestedAt = requestedAt;
|
||||
ReceivedAt = receivedAt;
|
||||
HttpStatus = httpStatus;
|
||||
PathFormat = pathFormat;
|
||||
Path = path;
|
||||
ApiResponse = apiResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ namespace Org.OpenAPITools.Client
|
||||
_jsonOptions.Converters.Add(new PersonJsonConverter());
|
||||
_services.AddSingleton(new JsonSerializerOptionsProvider(_jsonOptions));
|
||||
_services.AddSingleton<IApiFactory, ApiFactory>();
|
||||
_services.AddSingleton<DefaultApiEvents>();
|
||||
_services.AddTransient<IDefaultApi, DefaultApi>();
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IDefaultApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@ -54,6 +60,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class DefaultApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Fruit>>? OnRootGet;
|
||||
|
||||
internal void ExecuteOnRootGet(ApiResponse<Fruit> apiResponse)
|
||||
{
|
||||
OnRootGet?.Invoke(this, new ApiResponseEventArgs<Fruit>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -71,15 +94,21 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DefaultApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider)
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, DefaultApiEvents defaultApiEvents)
|
||||
{
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = defaultApiEvents;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -180,6 +209,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterRootGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnRootGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +1,24 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace Org.OpenAPITools.Client
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health.
|
||||
/// Useful for tracking server health
|
||||
/// </summary>
|
||||
public class ApiResponseEventArgs : EventArgs
|
||||
public class ApiResponseEventArgs<T> : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The time the request was sent.
|
||||
/// The ApiResponse
|
||||
/// </summary>
|
||||
public DateTime RequestedAt { get; }
|
||||
public ApiResponse<T> ApiResponse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The time the response was received.
|
||||
/// The ApiResponseEventArgs
|
||||
/// </summary>
|
||||
public DateTime ReceivedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The HttpStatusCode received.
|
||||
/// </summary>
|
||||
public HttpStatusCode HttpStatus { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The path requested.
|
||||
/// </summary>
|
||||
public string PathFormat { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The elapsed time from request to response.
|
||||
/// </summary>
|
||||
public TimeSpan ToTimeSpan => this.ReceivedAt - this.RequestedAt;
|
||||
|
||||
/// <summary>
|
||||
/// The path
|
||||
/// </summary>
|
||||
public string Path { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The event args used to track server health.
|
||||
/// </summary>
|
||||
/// <param name="requestedAt"></param>
|
||||
/// <param name="receivedAt"></param>
|
||||
/// <param name="httpStatus"></param>
|
||||
/// <param name="pathFormat"></param>
|
||||
/// <param name="path"></param>
|
||||
public ApiResponseEventArgs(DateTime requestedAt, DateTime receivedAt, HttpStatusCode httpStatus, string pathFormat, string path)
|
||||
/// <param name="apiResponse"></param>
|
||||
public ApiResponseEventArgs(ApiResponse<T> apiResponse)
|
||||
{
|
||||
RequestedAt = requestedAt;
|
||||
ReceivedAt = receivedAt;
|
||||
HttpStatus = httpStatus;
|
||||
PathFormat = pathFormat;
|
||||
Path = path;
|
||||
ApiResponse = apiResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ namespace Org.OpenAPITools.Client
|
||||
_jsonOptions.Converters.Add(new FruitJsonConverter());
|
||||
_services.AddSingleton(new JsonSerializerOptionsProvider(_jsonOptions));
|
||||
_services.AddSingleton<IApiFactory, ApiFactory>();
|
||||
_services.AddSingleton<DefaultApiEvents>();
|
||||
_services.AddTransient<IDefaultApi, DefaultApi>();
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -29,6 +30,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IDefaultApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@ -54,6 +60,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class DefaultApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Fruit>>? OnRootGet;
|
||||
|
||||
internal void ExecuteOnRootGet(ApiResponse<Fruit> apiResponse)
|
||||
{
|
||||
OnRootGet?.Invoke(this, new ApiResponseEventArgs<Fruit>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -71,15 +94,21 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DefaultApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider)
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, DefaultApiEvents defaultApiEvents)
|
||||
{
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = defaultApiEvents;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -180,6 +209,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterRootGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnRootGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +1,24 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace Org.OpenAPITools.Client
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health.
|
||||
/// Useful for tracking server health
|
||||
/// </summary>
|
||||
public class ApiResponseEventArgs : EventArgs
|
||||
public class ApiResponseEventArgs<T> : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The time the request was sent.
|
||||
/// The ApiResponse
|
||||
/// </summary>
|
||||
public DateTime RequestedAt { get; }
|
||||
public ApiResponse<T> ApiResponse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The time the response was received.
|
||||
/// The ApiResponseEventArgs
|
||||
/// </summary>
|
||||
public DateTime ReceivedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The HttpStatusCode received.
|
||||
/// </summary>
|
||||
public HttpStatusCode HttpStatus { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The path requested.
|
||||
/// </summary>
|
||||
public string PathFormat { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The elapsed time from request to response.
|
||||
/// </summary>
|
||||
public TimeSpan ToTimeSpan => this.ReceivedAt - this.RequestedAt;
|
||||
|
||||
/// <summary>
|
||||
/// The path
|
||||
/// </summary>
|
||||
public string Path { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The event args used to track server health.
|
||||
/// </summary>
|
||||
/// <param name="requestedAt"></param>
|
||||
/// <param name="receivedAt"></param>
|
||||
/// <param name="httpStatus"></param>
|
||||
/// <param name="pathFormat"></param>
|
||||
/// <param name="path"></param>
|
||||
public ApiResponseEventArgs(DateTime requestedAt, DateTime receivedAt, HttpStatusCode httpStatus, string pathFormat, string path)
|
||||
/// <param name="apiResponse"></param>
|
||||
public ApiResponseEventArgs(ApiResponse<T> apiResponse)
|
||||
{
|
||||
RequestedAt = requestedAt;
|
||||
ReceivedAt = receivedAt;
|
||||
HttpStatus = httpStatus;
|
||||
PathFormat = pathFormat;
|
||||
Path = path;
|
||||
ApiResponse = apiResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ namespace Org.OpenAPITools.Client
|
||||
_jsonOptions.Converters.Add(new FruitJsonConverter());
|
||||
_services.AddSingleton(new JsonSerializerOptionsProvider(_jsonOptions));
|
||||
_services.AddSingleton<IApiFactory, ApiFactory>();
|
||||
_services.AddSingleton<DefaultApiEvents>();
|
||||
_services.AddTransient<IDefaultApi, DefaultApi>();
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IAnotherFakeApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
AnotherFakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// To test special tags
|
||||
/// </summary>
|
||||
@ -54,6 +60,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class AnotherFakeApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>> OnCall123TestSpecialTags;
|
||||
|
||||
internal void ExecuteOnCall123TestSpecialTags(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnCall123TestSpecialTags?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -71,6 +94,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public AnotherFakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -100,7 +128,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="AnotherFakeApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public AnotherFakeApi(ILogger<AnotherFakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public AnotherFakeApi(ILogger<AnotherFakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, AnotherFakeApiEvents anotherFakeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -110,6 +138,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = anotherFakeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -250,6 +279,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCall123TestSpecialTagsDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnCall123TestSpecialTags(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IDefaultApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@ -96,6 +102,43 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class DefaultApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<FooGetDefaultResponse>> OnFooGet;
|
||||
|
||||
internal void ExecuteOnFooGet(ApiResponse<FooGetDefaultResponse> apiResponse)
|
||||
{
|
||||
OnFooGet?.Invoke(this, new ApiResponseEventArgs<FooGetDefaultResponse>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnGetCountry;
|
||||
|
||||
internal void ExecuteOnGetCountry(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnGetCountry?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Guid>>> OnHello;
|
||||
|
||||
internal void ExecuteOnHello(ApiResponse<List<Guid>> apiResponse)
|
||||
{
|
||||
OnHello?.Invoke(this, new ApiResponseEventArgs<List<Guid>>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -113,6 +156,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public DefaultApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -142,7 +190,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="DefaultApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public DefaultApi(ILogger<DefaultApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, DefaultApiEvents defaultApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -152,6 +200,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = defaultApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -256,6 +305,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFooGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnFooGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -398,6 +449,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetCountryDefaultImplementation(apiResponseLocalVar, country);
|
||||
|
||||
Events.ExecuteOnGetCountry(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -506,6 +559,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterHelloDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnHello(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IFakeApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
FakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Health check endpoint
|
||||
/// </summary>
|
||||
@ -444,6 +450,163 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class FakeApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<HealthCheckResult>> OnFakeHealthGet;
|
||||
|
||||
internal void ExecuteOnFakeHealthGet(ApiResponse<HealthCheckResult> apiResponse)
|
||||
{
|
||||
OnFakeHealthGet?.Invoke(this, new ApiResponseEventArgs<HealthCheckResult>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<bool>> OnFakeOuterBooleanSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterBooleanSerialize(ApiResponse<bool> apiResponse)
|
||||
{
|
||||
OnFakeOuterBooleanSerialize?.Invoke(this, new ApiResponseEventArgs<bool>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<OuterComposite>> OnFakeOuterCompositeSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterCompositeSerialize(ApiResponse<OuterComposite> apiResponse)
|
||||
{
|
||||
OnFakeOuterCompositeSerialize?.Invoke(this, new ApiResponseEventArgs<OuterComposite>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<decimal>> OnFakeOuterNumberSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterNumberSerialize(ApiResponse<decimal> apiResponse)
|
||||
{
|
||||
OnFakeOuterNumberSerialize?.Invoke(this, new ApiResponseEventArgs<decimal>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<string>> OnFakeOuterStringSerialize;
|
||||
|
||||
internal void ExecuteOnFakeOuterStringSerialize(ApiResponse<string> apiResponse)
|
||||
{
|
||||
OnFakeOuterStringSerialize?.Invoke(this, new ApiResponseEventArgs<string>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<OuterEnum>>> OnGetArrayOfEnums;
|
||||
|
||||
internal void ExecuteOnGetArrayOfEnums(ApiResponse<List<OuterEnum>> apiResponse)
|
||||
{
|
||||
OnGetArrayOfEnums?.Invoke(this, new ApiResponseEventArgs<List<OuterEnum>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestBodyWithFileSchema;
|
||||
|
||||
internal void ExecuteOnTestBodyWithFileSchema(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestBodyWithFileSchema?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestBodyWithQueryParams;
|
||||
|
||||
internal void ExecuteOnTestBodyWithQueryParams(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestBodyWithQueryParams?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>> OnTestClientModel;
|
||||
|
||||
internal void ExecuteOnTestClientModel(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnTestClientModel?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestEndpointParameters;
|
||||
|
||||
internal void ExecuteOnTestEndpointParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestEndpointParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestEnumParameters;
|
||||
|
||||
internal void ExecuteOnTestEnumParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestEnumParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestGroupParameters;
|
||||
|
||||
internal void ExecuteOnTestGroupParameters(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestGroupParameters?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestInlineAdditionalProperties;
|
||||
|
||||
internal void ExecuteOnTestInlineAdditionalProperties(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestInlineAdditionalProperties?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestJsonFormData;
|
||||
|
||||
internal void ExecuteOnTestJsonFormData(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestJsonFormData?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnTestQueryParameterCollectionFormat;
|
||||
|
||||
internal void ExecuteOnTestQueryParameterCollectionFormat(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnTestQueryParameterCollectionFormat?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -461,6 +624,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public FakeApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -490,7 +658,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="FakeApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public FakeApi(ILogger<FakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public FakeApi(ILogger<FakeApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, FakeApiEvents fakeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -500,6 +668,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = fakeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -604,6 +773,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeHealthGetDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnFakeHealthGet(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -736,6 +907,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterBooleanSerializeDefaultImplementation(apiResponseLocalVar, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterBooleanSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -881,6 +1054,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterCompositeSerializeDefaultImplementation(apiResponseLocalVar, outerComposite);
|
||||
|
||||
Events.ExecuteOnFakeOuterCompositeSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1013,6 +1188,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterNumberSerializeDefaultImplementation(apiResponseLocalVar, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterNumberSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1170,6 +1347,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFakeOuterStringSerializeDefaultImplementation(apiResponseLocalVar, requiredStringUuid, body);
|
||||
|
||||
Events.ExecuteOnFakeOuterStringSerialize(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1278,6 +1457,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetArrayOfEnumsDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnGetArrayOfEnums(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1414,6 +1595,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestBodyWithFileSchemaDefaultImplementation(apiResponseLocalVar, fileSchemaTestClass);
|
||||
|
||||
Events.ExecuteOnTestBodyWithFileSchema(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1566,6 +1749,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestBodyWithQueryParamsDefaultImplementation(apiResponseLocalVar, user, query);
|
||||
|
||||
Events.ExecuteOnTestBodyWithQueryParams(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1710,6 +1895,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestClientModelDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnTestClientModel(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1994,6 +2181,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestEndpointParametersDefaultImplementation(apiResponseLocalVar, varByte, number, varDouble, patternWithoutDelimiter, date, binary, varFloat, integer, int32, int64, varString, password, callback, dateTime);
|
||||
|
||||
Events.ExecuteOnTestEndpointParameters(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -2226,6 +2415,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestEnumParametersDefaultImplementation(apiResponseLocalVar, enumHeaderStringArray, enumQueryStringArray, enumQueryDouble, enumQueryInteger, enumFormStringArray, enumHeaderString, enumQueryString, enumFormString);
|
||||
|
||||
Events.ExecuteOnTestEnumParameters(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2391,6 +2582,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestGroupParametersDefaultImplementation(apiResponseLocalVar, requiredBooleanGroup, requiredStringGroup, requiredInt64Group, booleanGroup, stringGroup, int64Group);
|
||||
|
||||
Events.ExecuteOnTestGroupParameters(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -2531,6 +2724,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestInlineAdditionalPropertiesDefaultImplementation(apiResponseLocalVar, requestBody);
|
||||
|
||||
Events.ExecuteOnTestInlineAdditionalProperties(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2685,6 +2880,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestJsonFormDataDefaultImplementation(apiResponseLocalVar, param, param2);
|
||||
|
||||
Events.ExecuteOnTestJsonFormData(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -2897,6 +3094,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestQueryParameterCollectionFormatDefaultImplementation(apiResponseLocalVar, pipe, ioutil, http, url, context, requiredNotNullable, requiredNullable, notRequiredNotNullable, notRequiredNullable);
|
||||
|
||||
Events.ExecuteOnTestQueryParameterCollectionFormat(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IFakeClassnameTags123Api : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
FakeClassnameTags123ApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// To test class name in snake case
|
||||
/// </summary>
|
||||
@ -54,6 +60,23 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class FakeClassnameTags123ApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ModelClient>> OnTestClassname;
|
||||
|
||||
internal void ExecuteOnTestClassname(ApiResponse<ModelClient> apiResponse)
|
||||
{
|
||||
OnTestClassname?.Invoke(this, new ApiResponseEventArgs<ModelClient>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -71,6 +94,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public FakeClassnameTags123ApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -100,7 +128,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="FakeClassnameTags123Api"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public FakeClassnameTags123Api(ILogger<FakeClassnameTags123Api> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public FakeClassnameTags123Api(ILogger<FakeClassnameTags123Api> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, FakeClassnameTags123ApiEvents fakeClassnameTags123ApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -110,6 +138,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = fakeClassnameTags123ApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -261,6 +290,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterTestClassnameDefaultImplementation(apiResponseLocalVar, modelClient);
|
||||
|
||||
Events.ExecuteOnTestClassname(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IPetApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
PetApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Add a new pet to the store
|
||||
/// </summary>
|
||||
@ -252,6 +258,103 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class PetApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnAddPet;
|
||||
|
||||
internal void ExecuteOnAddPet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnAddPet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnDeletePet;
|
||||
|
||||
internal void ExecuteOnDeletePet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeletePet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Pet>>> OnFindPetsByStatus;
|
||||
|
||||
internal void ExecuteOnFindPetsByStatus(ApiResponse<List<Pet>> apiResponse)
|
||||
{
|
||||
OnFindPetsByStatus?.Invoke(this, new ApiResponseEventArgs<List<Pet>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<List<Pet>>> OnFindPetsByTags;
|
||||
|
||||
internal void ExecuteOnFindPetsByTags(ApiResponse<List<Pet>> apiResponse)
|
||||
{
|
||||
OnFindPetsByTags?.Invoke(this, new ApiResponseEventArgs<List<Pet>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Pet>> OnGetPetById;
|
||||
|
||||
internal void ExecuteOnGetPetById(ApiResponse<Pet> apiResponse)
|
||||
{
|
||||
OnGetPetById?.Invoke(this, new ApiResponseEventArgs<Pet>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnUpdatePet;
|
||||
|
||||
internal void ExecuteOnUpdatePet(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdatePet?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnUpdatePetWithForm;
|
||||
|
||||
internal void ExecuteOnUpdatePetWithForm(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdatePetWithForm?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ApiResponse>> OnUploadFile;
|
||||
|
||||
internal void ExecuteOnUploadFile(ApiResponse<ApiResponse> apiResponse)
|
||||
{
|
||||
OnUploadFile?.Invoke(this, new ApiResponseEventArgs<ApiResponse>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<ApiResponse>> OnUploadFileWithRequiredFile;
|
||||
|
||||
internal void ExecuteOnUploadFileWithRequiredFile(ApiResponse<ApiResponse> apiResponse)
|
||||
{
|
||||
OnUploadFileWithRequiredFile?.Invoke(this, new ApiResponseEventArgs<ApiResponse>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -269,6 +372,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public PetApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -298,7 +406,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="PetApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public PetApi(ILogger<PetApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public PetApi(ILogger<PetApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, PetApiEvents petApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -308,6 +416,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = petApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -459,6 +568,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterAddPetDefaultImplementation(apiResponseLocalVar, pet);
|
||||
|
||||
Events.ExecuteOnAddPet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -607,6 +718,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeletePetDefaultImplementation(apiResponseLocalVar, petId, apiKey);
|
||||
|
||||
Events.ExecuteOnDeletePet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -767,6 +880,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFindPetsByStatusDefaultImplementation(apiResponseLocalVar, status);
|
||||
|
||||
Events.ExecuteOnFindPetsByStatus(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -931,6 +1046,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterFindPetsByTagsDefaultImplementation(apiResponseLocalVar, tags);
|
||||
|
||||
Events.ExecuteOnFindPetsByTags(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1067,6 +1184,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetPetByIdDefaultImplementation(apiResponseLocalVar, petId);
|
||||
|
||||
Events.ExecuteOnGetPetById(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1226,6 +1345,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdatePetDefaultImplementation(apiResponseLocalVar, pet);
|
||||
|
||||
Events.ExecuteOnUpdatePet(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1403,6 +1524,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdatePetWithFormDefaultImplementation(apiResponseLocalVar, petId, name, status);
|
||||
|
||||
Events.ExecuteOnUpdatePetWithForm(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1584,6 +1707,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUploadFileDefaultImplementation(apiResponseLocalVar, petId, file, additionalMetadata);
|
||||
|
||||
Events.ExecuteOnUploadFile(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -1765,6 +1890,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUploadFileWithRequiredFileDefaultImplementation(apiResponseLocalVar, requiredFile, petId, additionalMetadata);
|
||||
|
||||
Events.ExecuteOnUploadFileWithRequiredFile(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IStoreApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
StoreApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Delete purchase order by ID
|
||||
/// </summary>
|
||||
@ -121,6 +127,53 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class StoreApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnDeleteOrder;
|
||||
|
||||
internal void ExecuteOnDeleteOrder(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeleteOrder?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Dictionary<string, int>>> OnGetInventory;
|
||||
|
||||
internal void ExecuteOnGetInventory(ApiResponse<Dictionary<string, int>> apiResponse)
|
||||
{
|
||||
OnGetInventory?.Invoke(this, new ApiResponseEventArgs<Dictionary<string, int>>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Order>> OnGetOrderById;
|
||||
|
||||
internal void ExecuteOnGetOrderById(ApiResponse<Order> apiResponse)
|
||||
{
|
||||
OnGetOrderById?.Invoke(this, new ApiResponseEventArgs<Order>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<Order>> OnPlaceOrder;
|
||||
|
||||
internal void ExecuteOnPlaceOrder(ApiResponse<Order> apiResponse)
|
||||
{
|
||||
OnPlaceOrder?.Invoke(this, new ApiResponseEventArgs<Order>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -138,6 +191,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public StoreApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -167,7 +225,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="StoreApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public StoreApi(ILogger<StoreApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public StoreApi(ILogger<StoreApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, StoreApiEvents storeApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -177,6 +235,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = storeApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -296,6 +355,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeleteOrderDefaultImplementation(apiResponseLocalVar, orderId);
|
||||
|
||||
Events.ExecuteOnDeleteOrder(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -412,6 +473,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetInventoryDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnGetInventory(apiResponseLocalVar);
|
||||
|
||||
if (apiResponseLocalVar.StatusCode == (HttpStatusCode) 429)
|
||||
foreach(TokenBase tokenBaseLocalVar in tokenBaseLocalVars)
|
||||
tokenBaseLocalVar.BeginRateLimit();
|
||||
@ -536,6 +599,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetOrderByIdDefaultImplementation(apiResponseLocalVar, orderId);
|
||||
|
||||
Events.ExecuteOnGetOrderById(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -681,6 +746,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterPlaceOrderDefaultImplementation(apiResponseLocalVar, order);
|
||||
|
||||
Events.ExecuteOnPlaceOrder(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using Org.OpenAPITools.Client;
|
||||
using Org.OpenAPITools.Api;
|
||||
using Org.OpenAPITools.Model;
|
||||
|
||||
namespace Org.OpenAPITools.IApi
|
||||
@ -27,6 +28,11 @@ namespace Org.OpenAPITools.IApi
|
||||
/// </summary>
|
||||
public interface IUserApi : IApi
|
||||
{
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
UserApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Create user
|
||||
/// </summary>
|
||||
@ -217,6 +223,93 @@ namespace Org.OpenAPITools.IApi
|
||||
|
||||
namespace Org.OpenAPITools.Api
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// This class is registered as transient.
|
||||
/// </summary>
|
||||
public class UserApiEvents
|
||||
{
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnCreateUser;
|
||||
|
||||
internal void ExecuteOnCreateUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnCreateUsersWithArrayInput;
|
||||
|
||||
internal void ExecuteOnCreateUsersWithArrayInput(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUsersWithArrayInput?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnCreateUsersWithListInput;
|
||||
|
||||
internal void ExecuteOnCreateUsersWithListInput(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnCreateUsersWithListInput?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnDeleteUser;
|
||||
|
||||
internal void ExecuteOnDeleteUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnDeleteUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<User>> OnGetUserByName;
|
||||
|
||||
internal void ExecuteOnGetUserByName(ApiResponse<User> apiResponse)
|
||||
{
|
||||
OnGetUserByName?.Invoke(this, new ApiResponseEventArgs<User>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<string>> OnLoginUser;
|
||||
|
||||
internal void ExecuteOnLoginUser(ApiResponse<string> apiResponse)
|
||||
{
|
||||
OnLoginUser?.Invoke(this, new ApiResponseEventArgs<string>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnLogoutUser;
|
||||
|
||||
internal void ExecuteOnLogoutUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnLogoutUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event raised after the server response
|
||||
/// </summary>
|
||||
public event EventHandler<ApiResponseEventArgs<object>> OnUpdateUser;
|
||||
|
||||
internal void ExecuteOnUpdateUser(ApiResponse<object> apiResponse)
|
||||
{
|
||||
OnUpdateUser?.Invoke(this, new ApiResponseEventArgs<object>(apiResponse));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a collection of functions to interact with the API endpoints
|
||||
/// </summary>
|
||||
@ -234,6 +327,11 @@ namespace Org.OpenAPITools.Api
|
||||
/// </summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The class containing the events
|
||||
/// </summary>
|
||||
public UserApiEvents Events { get; }
|
||||
|
||||
/// <summary>
|
||||
/// A token provider of type <see cref="ApiKeyProvider"/>
|
||||
/// </summary>
|
||||
@ -263,7 +361,7 @@ namespace Org.OpenAPITools.Api
|
||||
/// Initializes a new instance of the <see cref="UserApi"/> class.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public UserApi(ILogger<UserApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider,
|
||||
public UserApi(ILogger<UserApi> logger, HttpClient httpClient, JsonSerializerOptionsProvider jsonSerializerOptionsProvider, UserApiEvents userApiEvents,
|
||||
TokenProvider<ApiKeyToken> apiKeyProvider,
|
||||
TokenProvider<BearerToken> bearerTokenProvider,
|
||||
TokenProvider<BasicToken> basicTokenProvider,
|
||||
@ -273,6 +371,7 @@ namespace Org.OpenAPITools.Api
|
||||
_jsonSerializerOptions = jsonSerializerOptionsProvider.Options;
|
||||
Logger = logger;
|
||||
HttpClient = httpClient;
|
||||
Events = userApiEvents;
|
||||
ApiKeyProvider = apiKeyProvider;
|
||||
BearerTokenProvider = bearerTokenProvider;
|
||||
BasicTokenProvider = basicTokenProvider;
|
||||
@ -405,6 +504,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUserDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -541,6 +642,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUsersWithArrayInputDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUsersWithArrayInput(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -677,6 +780,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterCreateUsersWithListInputDefaultImplementation(apiResponseLocalVar, user);
|
||||
|
||||
Events.ExecuteOnCreateUsersWithListInput(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -800,6 +905,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterDeleteUserDefaultImplementation(apiResponseLocalVar, username);
|
||||
|
||||
Events.ExecuteOnDeleteUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -933,6 +1040,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterGetUserByNameDefaultImplementation(apiResponseLocalVar, username);
|
||||
|
||||
Events.ExecuteOnGetUserByName(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1082,6 +1191,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterLoginUserDefaultImplementation(apiResponseLocalVar, username, password);
|
||||
|
||||
Events.ExecuteOnLoginUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1181,6 +1292,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterLogoutUserDefaultImplementation(apiResponseLocalVar);
|
||||
|
||||
Events.ExecuteOnLogoutUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
@ -1328,6 +1441,8 @@ namespace Org.OpenAPITools.Api
|
||||
|
||||
AfterUpdateUserDefaultImplementation(apiResponseLocalVar, user, username);
|
||||
|
||||
Events.ExecuteOnUpdateUser(apiResponseLocalVar);
|
||||
|
||||
return apiResponseLocalVar;
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +1,24 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace Org.OpenAPITools.Client
|
||||
{
|
||||
/// <summary>
|
||||
/// Useful for tracking server health.
|
||||
/// Useful for tracking server health
|
||||
/// </summary>
|
||||
public class ApiResponseEventArgs : EventArgs
|
||||
public class ApiResponseEventArgs<T> : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The time the request was sent.
|
||||
/// The ApiResponse
|
||||
/// </summary>
|
||||
public DateTime RequestedAt { get; }
|
||||
public ApiResponse<T> ApiResponse { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The time the response was received.
|
||||
/// The ApiResponseEventArgs
|
||||
/// </summary>
|
||||
public DateTime ReceivedAt { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The HttpStatusCode received.
|
||||
/// </summary>
|
||||
public HttpStatusCode HttpStatus { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The path requested.
|
||||
/// </summary>
|
||||
public string PathFormat { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The elapsed time from request to response.
|
||||
/// </summary>
|
||||
public TimeSpan ToTimeSpan => this.ReceivedAt - this.RequestedAt;
|
||||
|
||||
/// <summary>
|
||||
/// The path
|
||||
/// </summary>
|
||||
public string Path { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The event args used to track server health.
|
||||
/// </summary>
|
||||
/// <param name="requestedAt"></param>
|
||||
/// <param name="receivedAt"></param>
|
||||
/// <param name="httpStatus"></param>
|
||||
/// <param name="pathFormat"></param>
|
||||
/// <param name="path"></param>
|
||||
public ApiResponseEventArgs(DateTime requestedAt, DateTime receivedAt, HttpStatusCode httpStatus, string pathFormat, string path)
|
||||
/// <param name="apiResponse"></param>
|
||||
public ApiResponseEventArgs(ApiResponse<T> apiResponse)
|
||||
{
|
||||
RequestedAt = requestedAt;
|
||||
ReceivedAt = receivedAt;
|
||||
HttpStatus = httpStatus;
|
||||
PathFormat = pathFormat;
|
||||
Path = path;
|
||||
ApiResponse = apiResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -132,12 +132,19 @@ namespace Org.OpenAPITools.Client
|
||||
_jsonOptions.Converters.Add(new ZeroBasedEnumClassJsonConverter());
|
||||
_services.AddSingleton(new JsonSerializerOptionsProvider(_jsonOptions));
|
||||
_services.AddSingleton<IApiFactory, ApiFactory>();
|
||||
_services.AddSingleton<AnotherFakeApiEvents>();
|
||||
_services.AddTransient<IAnotherFakeApi, AnotherFakeApi>();
|
||||
_services.AddSingleton<DefaultApiEvents>();
|
||||
_services.AddTransient<IDefaultApi, DefaultApi>();
|
||||
_services.AddSingleton<FakeApiEvents>();
|
||||
_services.AddTransient<IFakeApi, FakeApi>();
|
||||
_services.AddSingleton<FakeClassnameTags123ApiEvents>();
|
||||
_services.AddTransient<IFakeClassnameTags123Api, FakeClassnameTags123Api>();
|
||||
_services.AddSingleton<PetApiEvents>();
|
||||
_services.AddTransient<IPetApi, PetApi>();
|
||||
_services.AddSingleton<StoreApiEvents>();
|
||||
_services.AddTransient<IStoreApi, StoreApi>();
|
||||
_services.AddSingleton<UserApiEvents>();
|
||||
_services.AddTransient<IUserApi, UserApi>();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user