This repository was archived by the owner on Jan 13, 2021. It is now read-only.

Description
Over time it has become increasingly clear that httplib/http.client are a liability to requests/urllib3. Given that we'll need a HTTP/1.1 stack and that httplib is a liability, we should look into writing a new one.
This issue is a long-term goal, but is open to track the desired features from such a rewrite. This should be a list of mistakes that httplib has made that we should not make.
Initial list:
- Configurable file-like-object streaming size.
httplib streams file objects much slower than cURL does because it uses quite small chunks. We should make this faster.
- Support for 1XX responses.
- Better API.
- Support for not ruining file-objects when connections fall apart.
- No support for HTTP/1.0 or earlier.
- A clean mechanism for Upgrade:, such that the socket is provided in a known-good state along with information about the connection.
- Better separation of socket and parser logic.
/cc @sigmavirus24 @shazow for more ideas.