Open
Description
The http
crate provides very similar types as are presently implemented in lang_handler. These could be reused instead to reduce our scope of maintenance. Had I realized that existed I would have just used it from the start. 😅
We would need to use the extensions API to pass through a few additional needed bits like socket data (local/remote ip/port), response logs, and exceptions though, as those do not have any specific support included.
There's a few benefits I see:
- Using known/shared standard code makes maintenance and contribution easier
- In combination with
http-body
companion crate, stream support becomes much easier - Our request rewriter could be lifted to be more generalized over http crate types for use in the broader Rust ecosystem