def request(self, method, uri, headers=None, bodyProducer=None):
        """
        Issue a new request via the configured proxy.
        """
        # Cache *all* connections under the same key, since we are only
        # connecting to a single destination, the proxy:
        if twisted_version >= (15, 0, 0):
            proxyEndpoint = self._getEndpoint(self._proxyURI)
        else:
            proxyEndpoint = self._getEndpoint(self._proxyURI.scheme,
                                              self._proxyURI.host,
                                              self._proxyURI.port)
        key = ("http-proxy", self._proxyURI.host, self._proxyURI.port)
        return self._requestWithEndpoint(key, proxyEndpoint, method,
                                         URI.fromBytes(uri), headers,
                                         bodyProducer, uri)

        Issue a new request via the configured proxy.
        
stackoverflow/venv/lib/python3.6/site-packages/scrapy/core/downloader/handlers/http11.py