Skip to content

feat: migrate the proxy HTTP stack to josexy/xhttp and josexy/net - #14

Draft
josexy wants to merge 1 commit into
mainfrom
codex/xhttp-net-migration
Draft

feat: migrate the proxy HTTP stack to josexy/xhttp and josexy/net#14
josexy wants to merge 1 commit into
mainfrom
codex/xhttp-net-migration

Conversation

@josexy

@josexy josexy commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • migrate all HTTP-facing code and examples from net/http to github.com/josexy/xhttp
  • replace direct golang.org/x/net usage with github.com/josexy/net
  • update github.com/josexy/websocket to use the same HTTP and networking stack
  • preserve request and response header blocks, wire order, and trailers across HTTP/1.1, HTTP/2, and h2c
  • automatically capture inbound HTTP/2 connection and request profiles and replay them through the upstream transport, including SETTINGS, WINDOW_UPDATE, priority metadata, and pseudo-header order
  • extend the dumper diagnostics and add unit, benchmark, h2c, and TLS HTTP/2 end-to-end coverage

HTTP/2 profile capture and propagation are handled internally and require no additional runtime configuration.

Breaking changes

Public APIs that previously used net/http types now use github.com/josexy/xhttp types.

Consumers must update their HTTP imports, handlers, interceptors, request/response helpers, and server entry points accordingly.

Dependency revisions

  • github.com/josexy/xhttp@b930f9a
  • github.com/josexy/net@c0d6b15b
  • github.com/josexy/websocket@4bb5473

Testing

  • go test ./...
  • GitHub Actions Test (1.26.x) passes

Replace net/http and x/net HTTP/2 usage, preserve wire header profiles and HTTP/2 fingerprints, and add end-to-end coverage.
@josexy josexy changed the title feat: migrate HTTP handling to xhttp/net feat!: migrate the proxy HTTP stack to josexy/xhttp and josexy/net Aug 9, 2026
@josexy josexy changed the title feat!: migrate the proxy HTTP stack to josexy/xhttp and josexy/net feat: migrate the proxy HTTP stack to josexy/xhttp and josexy/net Aug 9, 2026
@josexy josexy self-assigned this Aug 9, 2026
@josexy
josexy marked this pull request as draft August 9, 2026 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant