Skip to content

Commit c9890d5

Browse files
committed
Add warning for context factories not accepting method param
1 parent 095495e commit c9890d5

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

scrapy/core/downloader/handlers/http11.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import logging
55
from io import BytesIO
66
from time import time
7+
import warnings
78
from six.moves.urllib.parse import urldefrag
89

910
from zope.interface import implementer
@@ -18,7 +19,7 @@
1819
from scrapy.http import Headers
1920
from scrapy.responsetypes import responsetypes
2021
from scrapy.core.downloader.webclient import _parse
21-
from scrapy.core.downloader.tls import openssl_methods, METHOD_TLS
22+
from scrapy.core.downloader.tls import openssl_methods
2223
from scrapy.utils.misc import load_object
2324
from scrapy.utils.python import to_bytes, to_unicode
2425
from scrapy import twisted_version
@@ -39,9 +40,12 @@ def __init__(self, settings):
3940
try:
4041
self._contextFactory = self._contextFactoryClass(method=self._sslMethod)
4142
except TypeError:
42-
# use defaults
43+
# use context factory defaults
4344
self._contextFactory = self._contextFactoryClass()
44-
45+
warnings.warn("""
46+
You are using a context factory class that does not accept the `method` argument
47+
(type OpenSSL.SSL method, e.g. OpenSSL.SSL.SSLv23_METHOD).
48+
Please upgrade your context factory class to handle or ignore it.""")
4549
self._default_maxsize = settings.getint('DOWNLOAD_MAXSIZE')
4650
self._default_warnsize = settings.getint('DOWNLOAD_WARNSIZE')
4751
self._disconnect_timeout = 1

0 commit comments

Comments
 (0)