title: .NET 4.6 HttpResponse.PushPromise methods to manage http/2 PUSH_PROMISE header
body: <p>I am a bit confused about <a href="https://http2.github.io/http2-spec/#PUSH_PROMISE" rel="nofollow">PUSH PROMISE</a> <a href="https://msdn.microsoft.com/en-us/library/system.web.httpresponse.pushpromise(v=vs.110).aspx" rel="nofollow">http/2</a> header handling in <code>.NET4.6</code>.</p>
  
  <p><a href="https://msdn.microsoft.com/en-us/library/system.web.httpresponse.pushpromise(v=vs.110).aspx" rel="nofollow">When I look</a> <code>HttpResponse.PushPromise</code> there are two overloads:</p>
  
  <p><a href="https://msdn.microsoft.com/en-us/library/dn823329(v=vs.110).aspx" rel="nofollow">One that accepts path to resource</a> <code>public void PushPromise(string path)</code> -  am assuming resource is then read and binary sent across to client.</p>
  
  <p><a href="https://msdn.microsoft.com/en-us/library/dn823340(v=vs.110).aspx" rel="nofollow">Second</a> <code>public void PushPromise(string path, string method, NameValueCollection headers)</code> that accepts <code>sting method</code> and <code>NameValueCollection headers</code> which I am failing to understand.</p>
  
  <p><strong>Why would I want to pass method (assuming HttpMethod like GET, POST, etc) and collection of headers inside <code>PUSH PROMISE</code> header?</strong></p>