From d67ca77e61020802c593c8b60a977e26bebfd7c6 Mon Sep 17 00:00:00 2001 From: Julia Medina Date: Sun, 15 Feb 2015 21:14:47 -0300 Subject: [PATCH] Support new _getEndpoint Agent signatures on Twisted 15.0.0 --- scrapy/core/downloader/handlers/http11.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/scrapy/core/downloader/handlers/http11.py b/scrapy/core/downloader/handlers/http11.py index 19db71bd1..634c6398b 100644 --- a/scrapy/core/downloader/handlers/http11.py +++ b/scrapy/core/downloader/handlers/http11.py @@ -19,7 +19,7 @@ from scrapy.http import Headers from scrapy.responsetypes import responsetypes from scrapy.core.downloader.webclient import _parse from scrapy.utils.misc import load_object -from scrapy import log +from scrapy import log, twisted_version class HTTP11DownloadHandler(object): @@ -142,10 +142,19 @@ class TunnelingAgent(Agent): self._proxyConf = proxyConf self._contextFactory = contextFactory - def _getEndpoint(self, scheme, host, port): - return TunnelingTCP4ClientEndpoint(self._reactor, host, port, - self._proxyConf, self._contextFactory, self._connectTimeout, - self._bindAddress) + if twisted_version >= (15, 0, 0): + def _getEndpoint(self, uri): + return TunnelingTCP4ClientEndpoint( + self._reactor, uri.host, uri.port, self._proxyConf, + self._contextFactory, self._endpointFactory._connectTimeout, + self._endpointFactory._bindAddress) + else: + def _getEndpoint(self, scheme, host, port): + return TunnelingTCP4ClientEndpoint( + self._reactor, host, port, self._proxyConf, + self._contextFactory, self._connectTimeout, + self._bindAddress) + class ScrapyAgent(object):