mirror of
https://github.com/python/cpython.git
synced 2025-09-27 10:50:04 +00:00
#8826: the "expires" attribute value is a date string with spaces, but apparently not all user-agents put it in quotes. Handle that as a special case.
This commit is contained in:
parent
bda4672b01
commit
b16e38b825
3 changed files with 14 additions and 0 deletions
|
@ -434,6 +434,8 @@ _CookiePattern = re.compile(r"""
|
||||||
(?P<val> # Start of group 'val'
|
(?P<val> # Start of group 'val'
|
||||||
"(?:[^\\"]|\\.)*" # Any doublequoted string
|
"(?:[^\\"]|\\.)*" # Any doublequoted string
|
||||||
| # or
|
| # or
|
||||||
|
\w{3},\s[\w\d-]{9,11}\s[\d:]{8}\sGMT # Special case for "expires" attr
|
||||||
|
| # or
|
||||||
""" + _LegalCharsPatt + r"""* # Any word or empty string
|
""" + _LegalCharsPatt + r"""* # Any word or empty string
|
||||||
) # End of group 'val'
|
) # End of group 'val'
|
||||||
\s*;? # Probably ending in a semi-colon
|
\s*;? # Probably ending in a semi-colon
|
||||||
|
|
|
@ -76,6 +76,16 @@ class CookieTests(unittest.TestCase):
|
||||||
# can't test exact output, it always depends on current date/time
|
# can't test exact output, it always depends on current date/time
|
||||||
self.assertTrue(C.output().endswith('GMT'))
|
self.assertTrue(C.output().endswith('GMT'))
|
||||||
|
|
||||||
|
# loading 'expires'
|
||||||
|
C = cookies.SimpleCookie()
|
||||||
|
C.load('Customer="W"; expires=Wed, 01-Jan-2010 00:00:00 GMT')
|
||||||
|
self.assertEqual(C['Customer']['expires'],
|
||||||
|
'Wed, 01-Jan-2010 00:00:00 GMT')
|
||||||
|
C = cookies.SimpleCookie()
|
||||||
|
C.load('Customer="W"; expires=Wed, 01-Jan-98 00:00:00 GMT')
|
||||||
|
self.assertEqual(C['Customer']['expires'],
|
||||||
|
'Wed, 01-Jan-98 00:00:00 GMT')
|
||||||
|
|
||||||
# 'max-age'
|
# 'max-age'
|
||||||
C = cookies.SimpleCookie('Customer="WILE_E_COYOTE"')
|
C = cookies.SimpleCookie('Customer="WILE_E_COYOTE"')
|
||||||
C['Customer']['max-age'] = 10
|
C['Customer']['max-age'] = 10
|
||||||
|
|
|
@ -15,6 +15,8 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #8826: Properly load old-style "expires" attribute in http.cookies.
|
||||||
|
|
||||||
- Issue #1690103: Fix initial namespace for code run with trace.main().
|
- Issue #1690103: Fix initial namespace for code run with trace.main().
|
||||||
|
|
||||||
- Issue #7395: Fix tracebacks in pstats interactive browser.
|
- Issue #7395: Fix tracebacks in pstats interactive browser.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue