title: Avoid HttpWebRequest GET and ProtocolViolationException
body: <p>Is there anyway to prevent <code>HttpWebRequest.GetRequestStream</code> from throwing an exception when the method is <code>GET</code>? I know that <code>HEAD</code> and <code>GET</code> should not contain a body in valid HTTP, but some servers accept bodies for these methods anyway (e.g., Elasticsearch's <code>_search</code> feature). I have an open source project for doing REST calls and I was wondering if I could circumvent this behavior to avoid surprises.</p>
  
  <p>At some point, I will probably create a version of my library using the new <code>System.Net.Http.HttpClient</code> class. Does this class have the same restrictions?</p>