title: Streaming HTTP client with a long time until first response byte
body: <p>I'm trying to write a Go HTTP client intended to stream event data from a HTTP server. My problem is that the first byte of the response could take hours before I get it, this includes the response headers. It's even possible I never get a response.</p>
  
  <p>I currently get <code>net/http: request canceled (Client.Timeout exceeded while awaiting headers)</code> using this client:</p>
  
  <pre><code>Client = &amp;http.Client{
      Transport: &amp;http.Transport{
          Dial: (&amp;net.Dialer{                                                                         
              Timeout:   0,
              KeepAlive: 30 * time.Second,
          }).Dial,
          Proxy: http.ProxyURL(proxyUrl),
          ResponseHeaderTimeout: 0,
      },
      Timeout: 0,
  }
  </code></pre>
  
  <p>I cannot think of any more timeouts to set to zero in order for my connection to not timeout. What am I missing?</p>
  
  <p>I'm using <code>go version go1.8 linux/amd64</code>.</p>
  
  <p><strong>Edit 1:</strong>
  I have no possibility to change the server for which i'm writing a client.</p>