title: Web API request content empty
body: <p>I have a DelegatingHandler implementation to log request/response content:</p>
  
  <pre><code>public class RequestAndResponseLoggerDelegatingHandler : DelegatingHandler
  {
      public IDataAccess Data { get; set; }
  
      protected override async Task&lt;HttpResponseMessage&gt; SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
      {
          var started = DateTime.UtcNow;
          var response = await base.SendAsync(request, cancellationToken);
          await Log(started, request, response);
          return response;
      }
  
      private async Task Log(DateTime start, HttpRequestMessage request, HttpResponseMessage response)
      {
          var finished = DateTime.UtcNow;
          var requestContent = await request.Content.ReadAsStringAsync();
          var responseContent = await response.Content.ReadAsStringAsync();
          var info = new ApiLogEntry(start, finished, requestContent, responseContent, request, response);
          Data.Log(info);
      }
  }
  </code></pre>
  
  <p>but for some reason <code>requestContent</code> is coming up empty. <code>request.Content.Length</code> is confirming that there is content, it's just not being extracted.</p>
  
  <p>Any ideas?</p>