<pre class="notranslate">With the deprecation notice at <a href="http://golang.org/pkg/net/http/httputil/#NewClientConn" rel="nofollow">http://golang.org/pkg/net/http/httputil/#NewClientConn</a>
it would be good to have client-side HTTP hijack support in a supported way.

Current RoundTripper etc force a request-reply cycle. I'm not sure what the ideal API
would look like; for my current use case, calling a hypothetical Response.Hijack before
reading Response.Body would be enough -- but I can see others arguing they'd like to be
in charge of reading the response headers too.

Related, it would be nice to be able to interact with the connection pool. Imagine
talking a back-and-forth protocol as a consequence of a HTTP request, concluding that
conversation, leaving the connection open, and letting the next HTTP request use it.
This applies both on the client and server side. (Ugly workarounds: a fake Listener for
server-side, that returns the previously-hijacked connections from Accept; for
client-side, a Dialer that does a non-blocking receive on a recycle channel first,
falling back to normal Dial if none are there -- this would duplicate the
connectMethodKey logic in net/http.)</pre>
<p dir="auto">by <strong><a href="mailto:raul.san@sent.com">raul.san@sent.com</a></strong>:</p>
<pre class="notranslate">Sometimes you use a function to initialize and return a new type, having the type like
private.

In those cases, godoc doesn't shows the documentation of public methods for private
types.

Here[1] you have an example, where the type column is private, but it is used function
Column to get it.


[2]: <a href="https://github.com/kless/go2sql/blob/master/column.go#L23">https://github.com/kless/go2sql/blob/master/column.go#L23</a></pre>