1
0
mirror of https://github.com/httpie/cli.git synced 2025-01-07 23:01:53 +02:00

Add support for max-age=0 cookie expiry (#1029)

Close #998
This commit is contained in:
Denis Belavin 2021-02-06 12:50:34 +03:00 committed by GitHub
parent cf78a12e46
commit 3c07a25326
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 0 deletions

View File

@ -38,5 +38,6 @@ Patches and ideas
* `Edward Yang <https://github.com/honorabrutroll>`_
* `Aleksandr Vinokurov <https://github.com/aleksandr-vin>`_
* `Jeff Byrnes <https://github.com/jeffbyrnes>`_
* `Denis Belavin <https://github.com/LuckyDenis>`_

View File

@ -109,6 +109,15 @@ def get_expired_cookies(
for attrs in attr_sets
]
# HACK/FIXME: https://github.com/psf/requests/issues/5743
for cookie in cookies:
if 'expires' in cookie:
continue
max_age = cookie.get('max-age')
if max_age and max_age.isdigit():
cookie['expires'] = now + float(max_age)
return [
{
'name': cookie['name'],

View File

@ -345,6 +345,15 @@ class TestExpiredCookies(CookieTestBase):
assert 'cookie1' in updated_session['cookies']
assert 'cookie2' not in updated_session['cookies']
def test_get_expired_cookies_using_max_age(self):
headers = [
('Set-Cookie', 'one=two; Max-Age=0; path=/; domain=.tumblr.com; HttpOnly')
]
expected_expired = [
{'name': 'one', 'path': '/'}
]
assert get_expired_cookies(headers, now=None) == expected_expired
@pytest.mark.parametrize(
argnames=['headers', 'now', 'expected_expired'],
argvalues=[