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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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