diff --git a/scrapy/contrib/downloadermiddleware/defaultheaders.py b/scrapy/contrib/downloadermiddleware/defaultheaders.py index 57eed1a0a..f1d2bd631 100644 --- a/scrapy/contrib/downloadermiddleware/defaultheaders.py +++ b/scrapy/contrib/downloadermiddleware/defaultheaders.py @@ -3,22 +3,17 @@ DefaultHeaders downloader middleware See documentation in docs/topics/downloader-middleware.rst """ -from scrapy.utils.python import WeakKeyCache class DefaultHeadersMiddleware(object): - def __init__(self, settings): - self._headers = WeakKeyCache(self._default_headers) - self._settings = settings + def __init__(self, headers): + self._headers = headers @classmethod def from_crawler(cls, crawler): - return cls(crawler.settings) - - def _default_headers(self, spider): - return self._settings.get('DEFAULT_REQUEST_HEADERS').items() + return cls(crawler.settings.get('DEFAULT_REQUEST_HEADERS').items()) def process_request(self, request, spider): - for k, v in self._headers[spider]: + for k, v in self._headers: request.headers.setdefault(k, v)