From 1c548d2f323853dc1d1031f6f03ac7e131bae630 Mon Sep 17 00:00:00 2001 From: sige Date: Tue, 7 Apr 2020 01:14:02 +0200 Subject: [PATCH 1/2] sdk key --- README.md | 6 +-- media/readme01.png | Bin 53190 -> 37997 bytes samples/ASP.NETCore/WebApplication/Startup.cs | 2 +- .../WebApplication/appsettings.json | 2 +- samples/ConsoleApp/Program.cs | 2 +- samples/FileLoggerSample.cs | 2 +- src/ConfigCat.Client.Tests/BaseUrlTests.cs | 14 +++---- .../BasicConfigCatClientIntegrationTests.cs | 18 ++++----- .../ConfigCacheTests.cs | 8 ++-- .../ConfigCatClientTests.cs | 36 +++++++++--------- .../CustomHttpClientHandlerTests.cs | 8 ++-- src/ConfigCatClient/ConfigCatClient.cs | 12 +++--- src/ConfigCatClient/ConfigCatClientBuilder.cs | 8 ++-- .../Configuration/ConfigurationBase.cs | 10 ++--- .../Configuration/ConfigurationBuilderBase.cs | 2 +- src/ConfigCatClient/HttpConfigFetcher.cs | 2 +- 16 files changed, 66 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index 821ffadb..fa8c6ac7 100644 --- a/README.md +++ b/README.md @@ -34,12 +34,12 @@ dotnet add package ConfigCat.Client using ConfigCat.Client; ``` -### 3. Go to Connect your application tab to get your *API Key*: -![API-KEY](https://raw.githubusercontent.com/ConfigCat/.net-sdk/master/media/readme01.png "API-KEY") +### 3. Go to Connect your application tab to get your *SDK Key*: +![SDK-KEY](https://raw.githubusercontent.com/ConfigCat/.net-sdk/master/media/readme01.png "SDK-KEY") ### 4. Create a **ConfigCat** client instance: ```c# -var client = new ConfigCatClient("#YOUR-API-KEY#"); +var client = new ConfigCatClient("#YOUR-SDK-KEY#"); ``` > We strongly recommend using the *ConfigCat Client* as a Singleton object in your application. diff --git a/media/readme01.png b/media/readme01.png index 23837ea7ee239510a79647cdd0e93f06ea75bfe0..731d84d9a83b801b05a3f28c4b8e07edccc2a713 100644 GIT binary patch literal 37997 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 VPy36%xQ&3vcSn2=v%F4b{snV1$(;ZI literal 53190 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

#)18Q?!y1d)vH% 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 diff --git a/samples/ASP.NETCore/WebApplication/Startup.cs b/samples/ASP.NETCore/WebApplication/Startup.cs index ee4c06e2..4d0a569b 100644 --- a/samples/ASP.NETCore/WebApplication/Startup.cs +++ b/samples/ASP.NETCore/WebApplication/Startup.cs @@ -23,7 +23,7 @@ public void ConfigureServices(IServiceCollection services) var configCatClient = new ConfigCatClient(new LazyLoadConfiguration { - ApiKey = Configuration["ConfigCatApiKey"], + SdkKey = Configuration["ConfigCatSdkKey"], CacheTimeToLiveSeconds = 120 }); configCatClient.LogLevel = LogLevel.Info; diff --git a/samples/ASP.NETCore/WebApplication/appsettings.json b/samples/ASP.NETCore/WebApplication/appsettings.json index 9411c90d..5e4b355f 100644 --- a/samples/ASP.NETCore/WebApplication/appsettings.json +++ b/samples/ASP.NETCore/WebApplication/appsettings.json @@ -5,6 +5,6 @@ "Default": "Warning" } }, - "ConfigCatApiKey": "PKDVCLf-Hq-h-kCzMp-L7Q/HhOWfwVtZ0mb30i9wi17GQ" + "ConfigCatSdkKey": "PKDVCLf-Hq-h-kCzMp-L7Q/HhOWfwVtZ0mb30i9wi17GQ" } diff --git a/samples/ConsoleApp/Program.cs b/samples/ConsoleApp/Program.cs index f8a3e3c1..18bd61a5 100644 --- a/samples/ConsoleApp/Program.cs +++ b/samples/ConsoleApp/Program.cs @@ -7,7 +7,7 @@ class Program { static void Main(string[] args) { - // Creating the ConfigCat client instance using the API key + // Creating the ConfigCat client instance using the SDK Key var client = new ConfigCatClient("PKDVCLf-Hq-h-kCzMp-L7Q/HhOWfwVtZ0mb30i9wi17GQ"); // Setting log level to Info to show detailed feature flag evaluation diff --git a/samples/FileLoggerSample.cs b/samples/FileLoggerSample.cs index 96100d72..e36c8b94 100644 --- a/samples/FileLoggerSample.cs +++ b/samples/FileLoggerSample.cs @@ -54,7 +54,7 @@ static void Main(string[] args) var clientConfiguration = new AutoPollConfiguration { - ApiKey = "YOUR-API-KEY", + SdkKey = "YOUR-SDK-KEY", Logger = new MyFileLogger(filePath, logLevel), PollIntervalSeconds = 5 }; diff --git a/src/ConfigCat.Client.Tests/BaseUrlTests.cs b/src/ConfigCat.Client.Tests/BaseUrlTests.cs index b269b051..e51eb176 100644 --- a/src/ConfigCat.Client.Tests/BaseUrlTests.cs +++ b/src/ConfigCat.Client.Tests/BaseUrlTests.cs @@ -6,7 +6,7 @@ namespace ConfigCat.Client.Tests [TestClass] public class BaseUrlTests { - private const string APIKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; + private const string SDKKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; private readonly Uri workingBaseUrl = new Uri("https://cdn.configcat.com"); private readonly Uri notWorkingBaseUrl = new Uri("https://thiswillnotwork.configcat.com"); @@ -14,7 +14,7 @@ public class BaseUrlTests [TestMethod] public void BaseUrl_Override_AutoPoll_Works() { - var client = ConfigCatClientBuilder.Initialize(APIKEY) + var client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithAutoPoll() .WithBaseUrl(workingBaseUrl) .Create(); @@ -22,7 +22,7 @@ public void BaseUrl_Override_AutoPoll_Works() var actual = client.GetValue("stringDefaultCat", "N/A"); Assert.AreEqual("Cat", actual); - client = ConfigCatClientBuilder.Initialize(APIKEY) + client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithAutoPoll() .WithBaseUrl(notWorkingBaseUrl) .Create(); @@ -34,7 +34,7 @@ public void BaseUrl_Override_AutoPoll_Works() [TestMethod] public void BaseUrl_Override_ManualPoll_Works() { - var client = ConfigCatClientBuilder.Initialize(APIKEY) + var client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithManualPoll() .WithBaseUrl(workingBaseUrl) .Create(); @@ -42,7 +42,7 @@ public void BaseUrl_Override_ManualPoll_Works() var actual = client.GetValue("stringDefaultCat", "N/A"); Assert.AreEqual("Cat", actual); - client = ConfigCatClientBuilder.Initialize(APIKEY) + client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithManualPoll() .WithBaseUrl(notWorkingBaseUrl) .Create(); @@ -54,7 +54,7 @@ public void BaseUrl_Override_ManualPoll_Works() [TestMethod] public void BaseUrl_Override_LazyLoad_Works() { - var client = ConfigCatClientBuilder.Initialize(APIKEY) + var client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithLazyLoad() .WithBaseUrl(workingBaseUrl) .Create(); @@ -62,7 +62,7 @@ public void BaseUrl_Override_LazyLoad_Works() var actual = client.GetValue("stringDefaultCat", "N/A"); Assert.AreEqual("Cat", actual); - client = ConfigCatClientBuilder.Initialize(APIKEY) + client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithLazyLoad() .WithBaseUrl(notWorkingBaseUrl) .Create(); diff --git a/src/ConfigCat.Client.Tests/BasicConfigCatClientIntegrationTests.cs b/src/ConfigCat.Client.Tests/BasicConfigCatClientIntegrationTests.cs index e49fb5be..2cc2f85a 100644 --- a/src/ConfigCat.Client.Tests/BasicConfigCatClientIntegrationTests.cs +++ b/src/ConfigCat.Client.Tests/BasicConfigCatClientIntegrationTests.cs @@ -10,9 +10,9 @@ namespace ConfigCat.Client.Tests [TestClass] public class BasicConfigCatClientIntegrationTests { - private const string APIKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; + private const string SDKKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; - private static readonly IConfigCatClient client = new ConfigCatClient(APIKEY); + private static readonly IConfigCatClient client = new ConfigCatClient(SDKKEY); private static readonly ILogger consoleLogger = new ConsoleLogger(LogLevel.Debug); @@ -26,7 +26,7 @@ public static void ClassCleanup() public void ManualPollGetValue() { IConfigCatClient manualPollClient = ConfigCatClientBuilder - .Initialize(APIKEY) + .Initialize(SDKKEY) .WithLogger(consoleLogger) .WithManualPoll() .Create(); @@ -40,7 +40,7 @@ public void ManualPollGetValue() public void AutoPollGetValue() { IConfigCatClient client = ConfigCatClientBuilder - .Initialize(APIKEY) + .Initialize(SDKKEY) .WithLogger(consoleLogger) .WithAutoPoll() .WithMaxInitWaitTimeSeconds(30) @@ -54,7 +54,7 @@ public void AutoPollGetValue() public void LazyLoadGetValue() { IConfigCatClient client = ConfigCatClientBuilder - .Initialize(APIKEY) + .Initialize(SDKKEY) .WithLogger(consoleLogger) .WithLazyLoad() .WithCacheTimeToLiveSeconds(30) @@ -67,7 +67,7 @@ public void LazyLoadGetValue() public async Task ManualPollGetValueAsync() { IConfigCatClient client = ConfigCatClientBuilder - .Initialize(APIKEY) + .Initialize(SDKKEY) .WithLogger(consoleLogger) .WithManualPoll() .Create(); @@ -81,7 +81,7 @@ public async Task ManualPollGetValueAsync() public async Task AutoPollGetValueAsync() { IConfigCatClient client = ConfigCatClientBuilder - .Initialize(APIKEY) + .Initialize(SDKKEY) .WithLogger(consoleLogger) .WithAutoPoll() .WithMaxInitWaitTimeSeconds(30) @@ -95,7 +95,7 @@ public async Task AutoPollGetValueAsync() public async Task LazyLoadGetValueAsync() { IConfigCatClient client = ConfigCatClientBuilder - .Initialize(APIKEY) + .Initialize(SDKKEY) .WithLogger(consoleLogger) .WithLazyLoad() .WithCacheTimeToLiveSeconds(30) @@ -108,7 +108,7 @@ public async Task LazyLoadGetValueAsync() public void GetAllKeys() { IConfigCatClient manualPollClient = ConfigCatClientBuilder - .Initialize(APIKEY) + .Initialize(SDKKEY) .WithLogger(consoleLogger) .WithManualPoll() .Create(); diff --git a/src/ConfigCat.Client.Tests/ConfigCacheTests.cs b/src/ConfigCat.Client.Tests/ConfigCacheTests.cs index 64a7d413..6a1f893d 100644 --- a/src/ConfigCat.Client.Tests/ConfigCacheTests.cs +++ b/src/ConfigCat.Client.Tests/ConfigCacheTests.cs @@ -6,7 +6,7 @@ namespace ConfigCat.Client.Tests [TestClass] public class ConfigCacheTests { - private const string APIKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; + private const string SDKKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; [TestMethod] public void ConfigCache_Override_AutoPoll_Works() @@ -20,7 +20,7 @@ public void ConfigCache_Override_AutoPoll_Works() configCacheMock.Setup(c => c.Get()).Returns(() => cachedConfig); - var client = ConfigCatClientBuilder.Initialize(APIKEY).WithAutoPoll().WithConfigCache(configCacheMock.Object).Create(); + var client = ConfigCatClientBuilder.Initialize(SDKKEY).WithAutoPoll().WithConfigCache(configCacheMock.Object).Create(); var actual = client.GetValue("stringDefaultCat", "N/A"); Assert.AreEqual("Cat", actual); @@ -41,7 +41,7 @@ public void ConfigCache_Override_ManualPoll_Works() configCacheMock.Setup(c => c.Get()).Returns(() => cachedConfig); - var client = ConfigCatClientBuilder.Initialize(APIKEY).WithManualPoll().WithConfigCache(configCacheMock.Object).Create(); + var client = ConfigCatClientBuilder.Initialize(SDKKEY).WithManualPoll().WithConfigCache(configCacheMock.Object).Create(); configCacheMock.Verify(c => c.Set(It.IsAny()), Times.Never); configCacheMock.Verify(c => c.Get(), Times.Never); @@ -71,7 +71,7 @@ public void ConfigCache_Override_LazyLoad_Works() configCacheMock.Setup(c => c.Get()).Returns(() => cachedConfig); - var client = ConfigCatClientBuilder.Initialize(APIKEY).WithLazyLoad().WithConfigCache(configCacheMock.Object).Create(); + var client = ConfigCatClientBuilder.Initialize(SDKKEY).WithLazyLoad().WithConfigCache(configCacheMock.Object).Create(); var actual = client.GetValue("stringDefaultCat", "N/A"); Assert.AreEqual("Cat", actual); diff --git a/src/ConfigCat.Client.Tests/ConfigCatClientTests.cs b/src/ConfigCat.Client.Tests/ConfigCatClientTests.cs index 8fe1d2b0..ce745d45 100644 --- a/src/ConfigCat.Client.Tests/ConfigCatClientTests.cs +++ b/src/ConfigCat.Client.Tests/ConfigCatClientTests.cs @@ -29,29 +29,29 @@ public void TestInitialize() [ExpectedException(typeof(ArgumentException))] [TestMethod] - public void CreateAnInstance_WhenApiKeyIsEmpty_ShouldThrowArgumentNullException() + public void CreateAnInstance_WhenSdkKeyIsEmpty_ShouldThrowArgumentNullException() { - string apiKey = string.Empty; + string sdkKey = string.Empty; - new ConfigCatClient(apiKey); + new ConfigCatClient(sdkKey); } [ExpectedException(typeof(ArgumentException))] [TestMethod] - public void CreateAnInstance_WhenApiKeyIsNull_ShouldThrowArgumentNullException() + public void CreateAnInstance_WhenSdkKeyIsNull_ShouldThrowArgumentNullException() { - string apiKey = null; + string sdkKey = null; - new ConfigCatClient(apiKey); + new ConfigCatClient(sdkKey); } [ExpectedException(typeof(ArgumentException))] [TestMethod] - public void CreateAnInstance_WhenAutoPollConfigurationApiKeyIsNull_ShouldThrowArgumentNullException() + public void CreateAnInstance_WhenAutoPollConfigurationSdkKeyIsNull_ShouldThrowArgumentNullException() { var clientConfiguration = new AutoPollConfiguration { - ApiKey = null + SdkKey = null }; new ConfigCatClient(clientConfiguration); @@ -63,7 +63,7 @@ public void CreateAnInstance_WhenAutoPollConfigurationPollIntervalsZero_ShouldTh { var clientConfiguration = new AutoPollConfiguration { - ApiKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf", + SdkKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf", PollIntervalSeconds = 0 }; @@ -72,11 +72,11 @@ public void CreateAnInstance_WhenAutoPollConfigurationPollIntervalsZero_ShouldTh [ExpectedException(typeof(ArgumentException))] [TestMethod] - public void CreateAnInstance_WhenConfigurationApiKeyIsEmpty_ShouldThrowArgumentNullException() + public void CreateAnInstance_WhenConfigurationSdkKeyIsEmpty_ShouldThrowArgumentNullException() { var clientConfiguration = new AutoPollConfiguration { - ApiKey = string.Empty + SdkKey = string.Empty }; new ConfigCatClient(clientConfiguration); @@ -88,7 +88,7 @@ public void CreateAnInstance_WhenLazyLoadConfigurationTimeToLiveSecondsIsZero_Sh { var clientConfiguration = new LazyLoadConfiguration { - ApiKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf", + SdkKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf", CacheTimeToLiveSeconds = 0 }; @@ -128,7 +128,7 @@ public void CreateAnInstance_WhenLoggerIsNull_ShouldThrowArgumentNullException() { var clientConfiguration = new AutoPollConfiguration { - ApiKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf", + SdkKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf", Logger = null }; @@ -141,24 +141,24 @@ public void CreateAnInstance_WithValidConfiguration_ShouldCreateAnInstance() { var config = new AutoPollConfiguration { - ApiKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf" + SdkKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf" }; new ConfigCatClient(config); } [TestMethod] - public void CreateAnInstance_WithApiKey_ShouldCreateAnInstance() + public void CreateAnInstance_WithSdkKey_ShouldCreateAnInstance() { - string apiKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf"; + string sdkKey = "hsdrTr4sxbHdSgdhHRZds346hdgsS2vfsgf/GsdrTr4sxbHdSgdhHRZds346hdOPsSgvfsgf"; - new ConfigCatClient(apiKey); + new ConfigCatClient(sdkKey); } [TestMethod] public void CreateConfigurationBuilderInstance_ShouldCreateAnInstance() { - var builder = ConfigCatClient.Create("APIKEY"); + var builder = ConfigCatClient.Create("SDKKEY"); Assert.IsNotNull(builder); } diff --git a/src/ConfigCat.Client.Tests/CustomHttpClientHandlerTests.cs b/src/ConfigCat.Client.Tests/CustomHttpClientHandlerTests.cs index 33deaf67..9b6c3cb2 100644 --- a/src/ConfigCat.Client.Tests/CustomHttpClientHandlerTests.cs +++ b/src/ConfigCat.Client.Tests/CustomHttpClientHandlerTests.cs @@ -7,7 +7,7 @@ namespace ConfigCat.Client.Tests [TestClass] public class CustomHttpClientHandlerTests { - private const string APIKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; + private const string SDKKEY = "PKDVCLf-Hq-h-kCzMp-L7Q/psuH7BGHoUmdONrzzUOY7A"; private readonly MyHttpClientHandler httpClientHandler = new MyHttpClientHandler(); [TestInitialize] @@ -21,7 +21,7 @@ public void AutoPoll_WithHttpClientHandlerOverride_ShouldReturnCatUseCustomImple { // Arrange - var client = ConfigCatClientBuilder.Initialize(APIKEY) + var client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithAutoPoll() .WithHttpClientHandler(httpClientHandler) .Create(); @@ -41,7 +41,7 @@ public void ManualPoll_WithHttpClientHandlerOverride_ShouldReturnCatUseCustomImp { // Arrange - var client = ConfigCatClientBuilder.Initialize(APIKEY) + var client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithManualPoll() .WithHttpClientHandler(httpClientHandler) .Create(); @@ -62,7 +62,7 @@ public void LazyLoad_WithHttpClientHandlerOverride_ShouldReturnCatUseCustomImple { // Arrange - var client = ConfigCatClientBuilder.Initialize(APIKEY) + var client = ConfigCatClientBuilder.Initialize(SDKKEY) .WithLazyLoad() .WithHttpClientHandler(httpClientHandler) .Create(); diff --git a/src/ConfigCatClient/ConfigCatClient.cs b/src/ConfigCatClient/ConfigCatClient.cs index 7cff06d1..bf9af72c 100644 --- a/src/ConfigCatClient/ConfigCatClient.cs +++ b/src/ConfigCatClient/ConfigCatClient.cs @@ -39,9 +39,9 @@ public LogLevel LogLevel ///

/// Create an instance of ConfigCatClient and setup AutoPoll mode /// - /// Api key to access configuration - /// When the is null or empty - public ConfigCatClient(string apiKey) : this(new AutoPollConfiguration { ApiKey = apiKey }) + /// SDK Key to access configuration + /// When the is null or empty + public ConfigCatClient(string sdkKey) : this(new AutoPollConfiguration { SdkKey = sdkKey }) { } @@ -216,11 +216,11 @@ public void Dispose() /// /// Create a instance to setup the client /// - /// + /// /// - public static ConfigCatClientBuilder Create(string apiKey) + public static ConfigCatClientBuilder Create(string sdkKey) { - return ConfigCatClientBuilder.Initialize(apiKey); + return ConfigCatClientBuilder.Initialize(sdkKey); } } } \ No newline at end of file diff --git a/src/ConfigCatClient/ConfigCatClientBuilder.cs b/src/ConfigCatClient/ConfigCatClientBuilder.cs index 6b6fccc8..1ee0e725 100644 --- a/src/ConfigCatClient/ConfigCatClientBuilder.cs +++ b/src/ConfigCatClient/ConfigCatClientBuilder.cs @@ -5,18 +5,18 @@ /// public class ConfigCatClientBuilder { - internal string ApiKey { get; private set; } + internal string SdkKey { get; private set; } internal ILogger Logger { get; private set; } = new ConsoleLogger(); /// - /// Create a instance with + /// Create a instance with /// /// - public static ConfigCatClientBuilder Initialize(string apiKey) + public static ConfigCatClientBuilder Initialize(string sdkKey) { return new ConfigCatClientBuilder { - ApiKey = apiKey + SdkKey = sdkKey }; } diff --git a/src/ConfigCatClient/Configuration/ConfigurationBase.cs b/src/ConfigCatClient/Configuration/ConfigurationBase.cs index 6e166da9..d76e70e5 100644 --- a/src/ConfigCatClient/Configuration/ConfigurationBase.cs +++ b/src/ConfigCatClient/Configuration/ConfigurationBase.cs @@ -26,9 +26,9 @@ public ILogger Logger } /// - /// Api key to get your configuration + /// SDK Key to get your configuration /// - public string ApiKey { set; get; } + public string SdkKey { set; get; } /// /// If you want to use custom caching instead of the client's default InMemoryConfigCache, You can provide an implementation of IConfigCache. @@ -47,9 +47,9 @@ public ILogger Logger internal virtual void Validate() { - if (string.IsNullOrEmpty(this.ApiKey)) + if (string.IsNullOrEmpty(this.SdkKey)) { - throw new ArgumentException("Invalid api key value.", nameof(this.ApiKey)); + throw new ArgumentException("Invalid SDK Key.", nameof(this.SdkKey)); } if (this.Logger == null) @@ -60,7 +60,7 @@ internal virtual void Validate() internal Uri CreateUrl() { - return new Uri(BaseUrl, "configuration-files/" + this.ApiKey + "/config_v4.json"); + return new Uri(BaseUrl, "configuration-files/" + this.SdkKey + "/config_v4.json"); } } } \ No newline at end of file diff --git a/src/ConfigCatClient/Configuration/ConfigurationBuilderBase.cs b/src/ConfigCatClient/Configuration/ConfigurationBuilderBase.cs index 6baeb131..eb9b866b 100644 --- a/src/ConfigCatClient/Configuration/ConfigurationBuilderBase.cs +++ b/src/ConfigCatClient/Configuration/ConfigurationBuilderBase.cs @@ -12,7 +12,7 @@ internal ConfigurationBuilderBase(ConfigCatClientBuilder clientBuilder) { this.configuration = new T { - ApiKey = clientBuilder.ApiKey, + SdkKey = clientBuilder.SdkKey, Logger = clientBuilder.Logger }; } diff --git a/src/ConfigCatClient/HttpConfigFetcher.cs b/src/ConfigCatClient/HttpConfigFetcher.cs index 895b04c7..397cd7ef 100644 --- a/src/ConfigCatClient/HttpConfigFetcher.cs +++ b/src/ConfigCatClient/HttpConfigFetcher.cs @@ -65,7 +65,7 @@ public async Task Fetch(ProjectConfig lastConfig) { newConfig = lastConfig; - this.log.Error("Double-check your API KEY at https://app.configcat.com/apikey"); + this.log.Error("Double-check your SDK Key at https://app.configcat.com/sdkkey"); } else { From caab1cf0588e9b64d04a136de0af19a92188f55d Mon Sep 17 00:00:00 2001 From: sige Date: Thu, 9 Apr 2020 19:01:44 +0200 Subject: [PATCH 2/2] readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa8c6ac7..0aa527ce 100644 --- a/README.md +++ b/README.md @@ -84,8 +84,8 @@ var isMyAwesomeFeatureEnabled = client.GetValue( ## Polling Modes The ConfigCat SDK supports 3 different polling mechanisms to acquire the setting values from ConfigCat. After latest setting values are downloaded, they are stored in the internal cache then all requests are served from there. Read more about Polling Modes and how to use them at [ConfigCat Docs](https://docs.configcat.com/docs/sdk-reference/csharp/). -## Support -If you need help how to use this SDK feel free to to contact the ConfigCat Staff on https://configcat.com. We're happy to help. +## Need help? +https://configcat.com/support ## Contributing Contributions are welcome.