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

Implement HTTP/1.1 support. #75

@Lukasa

Description

@Lukasa

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions