public async void PostWithApiKey(string resourcePath, string payload)
        {
            var authProvider = new ApiKeyAuthProvider();
            var headers      = authProvider.GenerateAuthHeaders(_config[ConfigurationKeys.CLIENT_KEY], _config[ConfigurationKeys.CLIENT_SECRET], null, null);
            var client       = new HttpClient();

            foreach (var header in headers)
            {
                client.DefaultRequestHeaders.Add(header.Key, header.Value);
            }
            var result = await client.GetStringAsync(_config[ConfigurationKeys.BASE_URL] + resourcePath + payload);

            Assert.True(result.ToLower().Contains("atms"));
            //Console.WriteLine("Response: " + result);
        }
        static void Main(string[] args)
        {
            string response     = null;
            string payload      = "radius_unit=MI&radius=5&latitude=32.67&longitude=-96.79&limit=10&offset=1";
            var    authProvider = new ApiKeyAuthProvider();
            var    headers      = authProvider.GenerateAuthHeaders(apiKey, null, null, null);

            var task = Task.Factory.StartNew(() => {
                using (var client = new HttpClient())
                {
                    foreach (var header in headers)
                    {
                        client.DefaultRequestHeaders.Add(header.Key, header.Value);
                    }
                    response = client.GetStringAsync(url + payload).Result;
                }
            });

            task.Wait();
            Console.WriteLine("Response: " + response);
        }