'Get a :class:`ConnectionPool` based on the request context.
``request_context`` must at least contain the ``scheme`` key and its
value must be a key in ``key_fn_by_scheme`` instance variable.'

def connection_from_context(self, request_context):

    scheme = request_context['scheme'].lower()
    pool_key_constructor = self.key_fn_by_scheme[scheme]
    pool_key = pool_key_constructor(request_context)
    return self.connection_from_pool_key(pool_key, request_context=request_context)
