Part of the effort to remove the libevent dependency altogether, see #31194
Draft for now since it depends on a few other PRs in varying ways:
- Uses
LineReaderfrom #34242 (first commit is cherry-picked from there) - Uses similar approach to #34158 and this has seen limited review so far
- Could potentially reuse
HTTPHeadersclass from #32061 (TODO in code)
So, please review the PRs above first since the code here might change depending on review feedback there :)
The change itself replaces the libevent-based HTTP client with a simple synchronous implementation which uses the Sock class directly.