Skip to content

net/http/internal/http2: clean up x/net crufts #81473

Open

Description

@nicholashusin

Our HTTP/2 implementation used to live in x/net, and there were two ways of using it:

  1. Indirectly via net/http.
  2. Directly via x/net.

As such, the code is littered with various logic and documentations that account for both modes of usage (e.g., was a connection dialed in net/http and then handed to HTTP/2? Or, did HTTP/2 dial it on its own?).

Now that HTTP/2 lives in net/http/internal/http2 (#67810), many parts of the package that deal with direct usage from x/net are essentially dead / stale. Furthermore, various copied / similar implementations between net/http and HTTP/2 can now be consolidated.

This is an overall tracking bug for cleaning up all such clutters.

Activity

  1. gopherbot commented on Sep 11, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/831185 mentions this issue: net/http/internal/http2: remove unused Transport dialing code

  2. gopherbot commented on Sep 11, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/831186 mentions this issue: net/http/internal/http2: remove unused ClientConn.isDoNotReuseAndIdle

  3. gopherbot commented on Sep 11, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/831188 mentions this issue: net/http/internal/http2: read GODEBUG settings with internal/godebug

  4. gopherbot commented on Sep 11, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/831187 mentions this issue: net/http/internal/http2: use net/http/internal/ascii instead of its copy

  5. gopherbot commented on Sep 11, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/831184 mentions this issue: net/http/internal/http2: remove stale fields and nil checks

  6. gopherbot commented on Sep 11, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/831344 mentions this issue: net/http/internal/httpcommon: unify gzip reader implementation

  7. gopherbot commented on Sep 11, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/831364 mentions this issue: internal/http3, internal/httpcommon: move gzip reader implementation

  8. added theissue type on Sep 18, 2026
  9. added
    NeedsFixThe path to resolution is known, but the work has not been done.
    on Sep 18, 2026
  10. added this to the Go1.28 milestone on Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsFixThe path to resolution is known, but the work has not been done.

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions