From 9acccbaa598c72e419e0b17b9a4979ab1ee4f7ee Mon Sep 17 00:00:00 2001 From: Bernhard Danecker Date: Sat, 6 Dec 2025 22:18:18 +0100 Subject: [PATCH] [csharp] public TokenProvider to make it implementable from consumer projects --- .../generichost/RateLimitProvider`1.mustache | 10 ++++---- .../generichost/TokenProvider`1.mustache | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- .../Client/RateLimitProvider`1.cs | 10 ++++---- .../Client/TokenProvider`1.cs | 23 ++----------------- 78 files changed, 273 insertions(+), 1014 deletions(-) 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..83c7207d93a9 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 @@ -23,13 +23,13 @@ namespace {{packageName}}.{{clientPackage}} /// 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) { - 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 }; @@ -65,7 +65,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 +85,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/TokenProvider`1.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/TokenProvider`1.mustache index 9fc5f3ea081f..329ddd55674b 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 @@ -6,8 +6,6 @@ {{/nrt}} using System; -using System.Linq; -using System.Collections.Generic; using {{packageName}}.{{clientPackage}}; namespace {{packageName}} @@ -17,23 +15,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..cc6cfc791bb4 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3d8a2168d4ff..32a548c068de 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..7ae3e23d0c0d 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36816eb367b6..5608feee646b 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..9de61d14fa0c 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index b873d5323e7a..69f4593c9c0f 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..2b6ec8f1e988 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/TokenProvider`1.cs index f0fdd6d9b3fe..b9b220a87cf5 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..a209f597bd53 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 @@ -29,9 +29,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -50,7 +50,7 @@ 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 }; @@ -59,7 +59,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -74,7 +74,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 19ecb6691081..c0fb03ce1a0f 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 @@ -12,8 +12,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -23,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/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..72d7926887f6 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index ed829aca7729..00d93b97c225 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..af23d23037b0 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..f07d96f43d6f 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..af23d23037b0 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..f07d96f43d6f 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..bfaf26654c3f 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..af23d23037b0 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..f07d96f43d6f 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..bfaf26654c3f 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..2564b204bedc 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 069d52308681..9dc0676726ac 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..72d7926887f6 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index ed829aca7729..00d93b97c225 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..af23d23037b0 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..f07d96f43d6f 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..af23d23037b0 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..f07d96f43d6f 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..bfaf26654c3f 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..af23d23037b0 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 3924246ab7c2..f07d96f43d6f 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..bfaf26654c3f 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..2564b204bedc 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 @@ -26,12 +26,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -39,13 +39,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 069d52308681..9dc0676726ac 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..828b89856c51 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 25a52d3c7185..f7084b4000ee 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..9e4fa3ebec7b 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..76d0594093cb 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..9e4fa3ebec7b 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..76d0594093cb 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..0c7d9fdaa636 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..2148f5d50cb1 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 @@ -28,9 +28,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -49,7 +49,7 @@ 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 }; @@ -58,7 +58,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,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/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..69f4593c9c0f 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..9e4fa3ebec7b 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..76d0594093cb 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..0c7d9fdaa636 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..2148f5d50cb1 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 @@ -28,9 +28,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -49,7 +49,7 @@ 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 }; @@ -58,7 +58,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,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/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..69f4593c9c0f 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..c1f04d485971 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index d9c84d5cc775..56a39238c599 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..828b89856c51 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 25a52d3c7185..f7084b4000ee 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..9e4fa3ebec7b 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..76d0594093cb 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..9e4fa3ebec7b 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..76d0594093cb 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..0c7d9fdaa636 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..2148f5d50cb1 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 @@ -28,9 +28,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -49,7 +49,7 @@ 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 }; @@ -58,7 +58,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,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/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..69f4593c9c0f 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..9e4fa3ebec7b 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/TokenProvider`1.cs index db3ce767d4af..76d0594093cb 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..0c7d9fdaa636 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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..2148f5d50cb1 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 @@ -28,9 +28,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -49,7 +49,7 @@ 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 }; @@ -58,7 +58,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -73,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/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..69f4593c9c0f 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..c1f04d485971 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 @@ -28,12 +28,12 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - 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 }; @@ -41,13 +41,13 @@ public RateLimitProvider(TokenContainer container) : base(container. 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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/TokenProvider`1.cs index d9c84d5cc775..56a39238c599 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 @@ -11,8 +11,6 @@ #nullable enable using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -22,23 +20,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..bfaf26654c3f 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 @@ -26,9 +26,9 @@ public class RateLimitProvider : TokenProvider where TTo /// 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) { - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) token.StartTimer(token.Timeout ?? TimeSpan.FromMilliseconds(40)); if (container is TokenContainer apiKeyTokenContainer) @@ -47,7 +47,7 @@ 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 }; @@ -56,7 +56,7 @@ public RateLimitProvider(TokenContainer container) : base(container. } foreach (var availableToken in AvailableTokens) - foreach(TTokenBase token in _tokens) + foreach(TTokenBase token in container.Tokens) { if (token is ApiKeyToken apiKeyToken) { @@ -71,7 +71,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/TokenProvider`1.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/TokenProvider`1.cs index 36d7dad03e23..c0bd5e9e66e3 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 @@ -9,8 +9,6 @@ */ using System; -using System.Linq; -using System.Collections.Generic; using Org.OpenAPITools.Client; namespace Org.OpenAPITools @@ -20,23 +18,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 +}