diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/RateLimitProvider`1.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/RateLimitProvider`1.mustache index 7458dbd80c52..3dcda9599ebe 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/RateLimitProvider`1.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/RateLimitProvider`1.mustache @@ -1,6 +1,5 @@ // {{>partial_header}} - {{#nrt}} #nullable enable @@ -17,21 +16,21 @@ namespace {{packageName}}.{{clientPackage}} /// {{>visibility}} class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new{{^net70OrLater}} Dictionary>{{/net70OrLater}}(); + public Dictionary> AvailableTokens { get; } = new{{^net70OrLater}} Dictionary>{{/net70OrLater}}(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); {{#lambda.copy}} - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -45,7 +44,7 @@ namespace {{packageName}}.{{clientPackage}} { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -65,7 +64,7 @@ namespace {{packageName}}.{{clientPackage}} {{/hasApiKeyMethods}} foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { {{#hasApiKeyMethods}} if (token is ApiKeyToken apiKeyToken) @@ -85,7 +84,7 @@ namespace {{packageName}}.{{clientPackage}} } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default{{^netstandard20OrLater}}(global::System.Threading.CancellationToken){{/netstandard20OrLater}}) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default{{^netstandard20OrLater}}(global::System.Threading.CancellationToken){{/netstandard20OrLater}}) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel{{nrt?}} tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenBase.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenBase.mustache index 05f06b4a7a58..d4d520e67c1d 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenBase.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenBase.mustache @@ -19,8 +19,8 @@ namespace {{packageName}}.{{clientPackage}} internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler{{nrt?}} TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler{{nrt?}} TokenBecameAvailable; /// diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenProvider`1.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenProvider`1.mustache index 9fc5f3ea081f..21dc823e64f5 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenProvider`1.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenProvider`1.mustache @@ -1,6 +1,5 @@ // {{>partial_header}} - {{#nrt}} #nullable enable @@ -17,23 +16,6 @@ namespace {{packageName}} /// {{>visibility}} abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default{{^netstandard20OrLater}}(global::System.Threading.CancellationToken){{/netstandard20OrLater}}); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default{{^netstandard20OrLater}}(global::System.Threading.CancellationToken){{/netstandard20OrLater}}); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 6fb9a04f0788..f63da5269861 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3d8a2168d4ff..41825a6caa05 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index c59dd2d19387..c0412ba14517 100644 --- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36816eb367b6..4a2eeb313648 100644 --- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index ecb58bf81e2e..b9c83e6c816a 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index b873d5323e7a..2d668528ef65 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 8d21b1ab34ad..c204a0e8f20c 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenProvider`1.cs index f0fdd6d9b3fe..56f0a7675aec 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index d1ee774f5f37..6aa0f0099bdc 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -8,7 +8,6 @@ * Contact: support@files.com * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -23,15 +22,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -42,7 +41,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -50,16 +49,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -74,7 +73,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 19ecb6691081..a65bd07d9681 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -8,7 +8,6 @@ * Contact: support@files.com * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -23,23 +22,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 63bef256d7e2..a7fab6db873c 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index ed829aca7729..c96d82895566 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index c5a5ad7e2e6c..48125a7ddb8b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..08831f405128 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index c5a5ad7e2e6c..48125a7ddb8b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..08831f405128 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 36e3def7fcd2..56d245063001 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index c5a5ad7e2e6c..48125a7ddb8b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..08831f405128 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 36e3def7fcd2..56d245063001 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index d30ab81debfc..0ce12c7c7262 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 069d52308681..a7c8e2a4567e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 63bef256d7e2..a7fab6db873c 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index ed829aca7729..c96d82895566 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index c5a5ad7e2e6c..48125a7ddb8b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..08831f405128 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index c5a5ad7e2e6c..48125a7ddb8b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..08831f405128 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 36e3def7fcd2..56d245063001 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index c5a5ad7e2e6c..48125a7ddb8b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..08831f405128 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 36e3def7fcd2..56d245063001 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index d30ab81debfc..0ce12c7c7262 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,32 +19,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 069d52308681..a7c8e2a4567e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 8fad79610119..33cbfdf382b2 100644 --- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 25a52d3c7185..16359b31aa40 100644 --- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index f94f9dd79432..52c1566369c1 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..0f375142c129 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index f94f9dd79432..52c1566369c1 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..0f375142c129 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 032ba306e4fc..a80e46b27082 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index e7ce16aae043..1906bd99d8fe 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,15 +21,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -41,7 +40,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -49,16 +48,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,7 +72,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs index b873d5323e7a..2d668528ef65 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index f94f9dd79432..52c1566369c1 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..0f375142c129 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 032ba306e4fc..a80e46b27082 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index e7ce16aae043..1906bd99d8fe 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,15 +21,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -41,7 +40,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -49,16 +48,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,7 +72,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs index b873d5323e7a..2d668528ef65 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index ec5c9f28e943..dd1ee701bb69 100644 --- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index d9c84d5cc775..36ae5069699f 100644 --- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 8fad79610119..33cbfdf382b2 100644 --- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 25a52d3c7185..16359b31aa40 100644 --- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index f94f9dd79432..52c1566369c1 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..0f375142c129 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index f94f9dd79432..52c1566369c1 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..0f375142c129 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 032ba306e4fc..a80e46b27082 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index e7ce16aae043..1906bd99d8fe 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,15 +21,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -41,7 +40,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -49,16 +48,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,7 +72,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs index b873d5323e7a..2d668528ef65 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index f94f9dd79432..52c1566369c1 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..0f375142c129 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 0.0.1 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 032ba306e4fc..a80e46b27082 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index e7ce16aae043..1906bd99d8fe 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,15 +21,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -41,7 +40,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -49,16 +48,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,7 +72,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs index b873d5323e7a..2d668528ef65 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index ec5c9f28e943..dd1ee701bb69 100644 --- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,32 +21,32 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new(); + public Dictionary> AvailableTokens { get; } = new(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { token.TokenBecameAvailable += ((sender) => availableToken.Value.Writer.TryWrite((TTokenBase)sender)); } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel? tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs index 3f713a2ef4bb..aa6df45cf7c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenBase.cs @@ -17,8 +17,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler? TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler? TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index d9c84d5cc775..36ae5069699f 100644 --- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - #nullable enable using System; @@ -22,23 +21,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs index 36e3def7fcd2..56d245063001 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/RateLimitProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Collections.Generic; using System.Linq; @@ -20,15 +19,15 @@ namespace Org.OpenAPITools.Client /// public class RateLimitProvider : TokenProvider where TTokenBase : TokenBase { - internal Dictionary> AvailableTokens { get; } = new Dictionary>(); + public Dictionary> AvailableTokens { get; } = new Dictionary>(); /// /// Instantiates a ThrottledTokenProvider. Your tokens will be rate limited based on the token's timeout. /// /// - public RateLimitProvider(TokenContainer container) : base(container.Tokens) + public RateLimitProvider(TokenContainer container) : base() { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -39,7 +38,7 @@ public RateLimitProvider(TokenContainer container) : base(container. { global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(apiKeyTokenContainer.Tokens.Count(t => ClientUtils.ApiKeyHeaderToString(t.Header).Equals(header))) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(header, global::System.Threading.Channels.Channel.CreateBounded(options)); @@ -47,16 +46,16 @@ public RateLimitProvider(TokenContainer container) : base(container. } else { - global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(_tokens.Length) + global::System.Threading.Channels.BoundedChannelOptions options = new global::System.Threading.Channels.BoundedChannelOptions(container.Tokens.Count) { - FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropWrite + FullMode = global::System.Threading.Channels.BoundedChannelFullMode.DropOldest }; AvailableTokens.Add(string.Empty, global::System.Threading.Channels.Channel.CreateBounded(options)); } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +70,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } } - internal override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) + public override async System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default) { if (!AvailableTokens.TryGetValue(header, out global::System.Threading.Channels.Channel tokens)) throw new KeyNotFoundException($"Could not locate a token for header '{header}'."); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs index ec843104cafe..11cddf564b33 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenBase.cs @@ -15,8 +15,8 @@ public abstract class TokenBase internal TimeSpan? Timeout { get; set; } - internal delegate void TokenBecameAvailableEventHandler(object sender); - internal event TokenBecameAvailableEventHandler TokenBecameAvailable; + public delegate void TokenBecameAvailableEventHandler(object sender); + public event TokenBecameAvailableEventHandler TokenBecameAvailable; /// diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..1a9a30116ee5 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs @@ -7,7 +7,6 @@ * The version of the OpenAPI document: 1.0.0 * Generated by: https://github.com/openapitools/openapi-generator.git */ - using System; using System.Linq; using System.Collections.Generic; @@ -20,23 +19,6 @@ namespace Org.OpenAPITools /// public abstract class TokenProvider where TTokenBase : TokenBase { - /// - /// The array of tokens. - /// - protected TTokenBase[] _tokens; - - internal abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); - - /// - /// Instantiates a TokenProvider. - /// - /// - public TokenProvider(IEnumerable tokens) - { - _tokens = tokens.ToArray(); - - if (_tokens.Length == 0) - throw new ArgumentException("You did not provide any tokens."); - } + public abstract System.Threading.Tasks.ValueTask GetAsync(string header = "", System.Threading.CancellationToken cancellation = default); } } \ No newline at end of file