From 540b9bcde0651b202a46e40fdbf6c4b5e90f5e12 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 | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/scrapy/core/downloader/handlers/http11.py b/scrapy/core/downloader/handlers/http11.py index 4f044f55f..5bae17902 100644 --- a/scrapy/core/downloader/handlers/http11.py +++ b/scrapy/core/downloader/handlers/http11.py @@ -19,6 +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 twisted_version class HTTP11DownloadHandler(object): @@ -137,10 +138,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):