public void AddHmacHeadersWithGeneratorWithContentTest()
        {
            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 <NullReferenceException>(() => client.AddHmacHeadersWithGenerator(resource, method, content, null));
                headerGeneratorProxy.Setup(x => x.AddHmacHeaders(client, resource, method, content));
                client.AddHmacHeadersWithGenerator(resource, method, content, headerGeneratorProxy.Object);
                headerGeneratorProxy.Verify(x => x.AddHmacHeaders(client, resource, method, content));
            }
            Authentication.Hmac.HttpClientAuthenticationExtensions.RegisterHeaderGenerator(null);
        }
 /// <summary>
 /// Adds an HMAC header to a HttpClient using the provided 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>
 /// <param name="headerGenerator">The header generator to use (this will not be registered)</param>
 /// <exception cref="NullReferenceException">If no valid header generator was passed</exception>
 public static void AddHmacHeadersWithGenerator(this HttpClient client, Uri requestUri, HttpMethod method,
                                                HmacHeaderGenerator headerGenerator)
 {
     if (headerGenerator == null)
     {
         throw new NullReferenceException("No valid header generator passed.");
     }
     client.AddHmacHeadersWithGenerator(requestUri, method, null, headerGenerator);
 }