title: Net.HttpClient Cancel ReadAsStringAsync?
body: <p>I use <code>SendAsync</code> with <code>HttpCompletionOption.ResponseHeadersRead</code> to get the headers first. Next I check the <code>Content-Type</code> and <code>Content-Length</code> to make sure the response is markup and the size is decent. I use a <code>CancellationTokenSource</code> to cancel the <code>SendAsync</code> if it exceeds a certain timespan.</p>
  
  <p>But then, if the type and size are correct, I continue to actually fetch the markup string with <code>ReadAsStringAsync</code>. <strong>Can I add a cancellation token to this call?</strong> So if the actual download takes too long, I can abort it. Or can this be done in any other way?</p>
  
  <p>I don't want to use <code>GetStringAsync</code> as I use a custom <code>HttpRequestMessage</code>.</p>
  
  <p><strong><em>PS</strong>: I'm rather new to C#, 2 weeks. Something might be eluding me.</em></p>