mirror of https://github.com/scrapy/scrapy.git
Improve check for invalid cookie in CookiesMiddleware (#4772)
This commit is contained in:
parent
be655b855d
commit
307e35c664
|
|
@ -74,7 +74,7 @@ class CookiesMiddleware:
|
|||
"""
|
||||
decoded = {}
|
||||
for key in ("name", "value", "path", "domain"):
|
||||
if not cookie.get(key):
|
||||
if cookie.get(key) is None:
|
||||
if key in ("name", "value"):
|
||||
msg = "Invalid cookie found in request {}: {} ('{}' is missing)"
|
||||
logger.warning(msg.format(request, cookie, key))
|
||||
|
|
|
|||
|
|
@ -322,6 +322,9 @@ class CookiesMiddlewareTest(TestCase):
|
|||
cookies2 = [{'name': 'foo'}, {'name': 'key', 'value': 'value2'}]
|
||||
req2 = Request('http://example.org/2', cookies=cookies2)
|
||||
assert self.mw.process_request(req2, self.spider) is None
|
||||
cookies3 = [{'name': 'foo', 'value': None}, {'name': 'key', 'value': ''}]
|
||||
req3 = Request('http://example.org/3', cookies=cookies3)
|
||||
assert self.mw.process_request(req3, self.spider) is None
|
||||
lc.check(
|
||||
("scrapy.downloadermiddlewares.cookies",
|
||||
"WARNING",
|
||||
|
|
@ -331,6 +334,11 @@ class CookiesMiddlewareTest(TestCase):
|
|||
"WARNING",
|
||||
"Invalid cookie found in request <GET http://example.org/2>:"
|
||||
" {'name': 'foo'} ('value' is missing)"),
|
||||
("scrapy.downloadermiddlewares.cookies",
|
||||
"WARNING",
|
||||
"Invalid cookie found in request <GET http://example.org/3>:"
|
||||
" {'name': 'foo', 'value': None} ('value' is missing)"),
|
||||
)
|
||||
self.assertCookieValEqual(req1.headers['Cookie'], 'key=value1')
|
||||
self.assertCookieValEqual(req2.headers['Cookie'], 'key=value2')
|
||||
self.assertCookieValEqual(req3.headers['Cookie'], 'key=')
|
||||
|
|
|
|||
Loading…
Reference in New Issue