public void AddHmacHeadersContentTest()
        {
            Authentication.Hmac.HttpClientAuthenticationExtensions.RegisterHeaderGenerator(null);
            Mock <HmacSignatureGenerator> signatureGeneratorProxy = new Mock <HmacSignatureGenerator>(MockBehavior.Strict, customNameSpace);
            Mock <HmacHeaderGenerator>    headerGeneratorProxy    = new Mock <HmacHeaderGenerator>(MockBehavior.Strict, signatureGeneratorProxy.Object, customNameSpace);

            using (HttpClient client = new HttpClient())
            {
                Uri resource = new Uri(requestedResource);
                Assert.Throws <InvalidOperationException>(() => client.AddHmacHeaders(resource, method, content));
                headerGeneratorProxy.Setup(x => x.AddHmacHeaders(client, resource, method, content));
                headerGeneratorProxy.Object.RegisterHeaderGenerator();
                client.AddHmacHeaders(resource, method, content);
                headerGeneratorProxy.Verify(x => x.AddHmacHeaders(client, resource, method, content));
            }
            Authentication.Hmac.HttpClientAuthenticationExtensions.RegisterHeaderGenerator(null);
        }
 /// <summary>
 /// Adds an HMAC header to a HttpClient using the registered header generator
 /// </summary>
 /// <param name="client">The client that will be used to make the request</param>
 /// <param name="requestUri">The Uri that the request will be sent to</param>
 /// <param name="method">The method that the request will be used</param>
 /// <exception cref="NullReferenceException">If no valid header generator is registered</exception>
 public static void AddHmacHeaders(this HttpClient client, Uri requestUri, HttpMethod method)
 {
     client.AddHmacHeaders(requestUri, method, null);
 }