I'm Willem, a freelance engineer. Together with the folks at Confident Security I developed this Go package that we open sourced today: https://github.com/confidentsecurity/bhttp
It's a Go implementation of BHTTP (RFC 9292) that allows you to encode/decode regular `http.Request` and `http.Responses` to BHTTP messages.
We've implemented the full RFC: - Known-length and indeterminate-length messages. Both are returned as `io.Reader`, so relatively easy to use and switch between the two. - Trailers. Work the same way as in `net/http`. - Padding. Specified via an option on the encoder.
If you're working on a problem that requires you to pass around HTTP messages outside of the conventional protocol, be sure to check it out. Any feedback or PR's are much appreciated.