Add support for required `requests` features

WIP: don't merge until we're done figuring out what's missing