Go: proposal: net/http/httputil: split into focused subpackages (Go 2)

Created on 22 Jun 2017  ·  4Comments  ·  Source: golang/go

This proposal builds on https://github.com/golang/go/issues/7907 (remove deprecated stuff) and https://github.com/golang/go/issues/19660 (refactor ioutil to provide a coherent abstraction).

httputil currently contains:

  • Dump{Request,RequestOut,Response}: "It should only be used by servers to debug client requests." These would be clearer in a net/http/debug subpackage.
  • NewChunked{Reader,Writer}: "not needed by normal applications. The http package automatically decodes chunking when reading response bodies." Not obvious why it's exported, but it could easily go in a net/http/chunked subpackage.
  • ReverseProxy: Could easily go in a separate net/http/proxy subpackage.
  • BufferPool: has ~nothing to do with HTTP, and if it is still useful implies a garbage-collector issue that we should address instead.
  • ClientConn: "We should have deleted it before Go 1."
  • ServerConn: "We should have deleted it before Go 1."

(@bradfitz)

Go2 NeedsInvestigation Proposal

Most helpful comment

Is it open season on filing bugs about everything that's wrong in the standard library?

All 4 comments

Is it open season on filing bugs about everything that's wrong in the standard library?

Yep. :)

Just want to make sure we don't miss anything. (It's like grocery shopping: if I don't make a list I'll forget all the important stuff.)

Should this be handled as part of #5465?

I think the concrete suggestions here are mostly orthogonal to net/http proper.

It is clearly related, though: if the corresponding interfaces change, then that certainly impacts the utilities that hook into and/or implement those interfaces.

Was this page helpful?
0 / 5 - 0 ratings