Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

What should we do with urllib3's securetransport and pyopenssl support? #177

@njsmith

Description

@njsmith

urllib3 has code in urllib3.contrib to support using securetransport or pyopenssl for TLS, instead of the default stdlib ssl module.

This is accomplished by doing some pretty intrusive monkeypatching of urllib3's low level networking code. In hip we've replaced all that low-level networking code, and we additionally have the complication that now we have multiple different networking backends. So the existing code needs to change somehow.

I guess the first question is: should we keep it at all? Can someone summarize the problems that it's solving? I feel like there's probably a bunch of important but subtle details and history here that I don't understand, but we need to before making a decision.

If we do keep it, does it only need to work for the sync backend, or does it need to work for the async backends too? Presumably the answer will depend on why it's useful in the first place.

And if we do keep it, can we not do wacky monkeypatching stuff? I'm not a fan of contrib modules in general... I feel like either we should support something properly as a full-fledged feature, or not support it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions