From 837118393c9930d0f627783f15df67a4299d5271 Mon Sep 17 00:00:00 2001 From: Alexey Stepanov Date: Mon, 8 Aug 2016 13:56:13 +0300 Subject: [PATCH] add status code 308 to _REDIRECT_STATUSES add status code 308 to _REDIRECT_STATUSES as designed by rfc7238 Closes-bug: 1610914 Change-Id: I81ce137dad07e76a0f0c227dc8b263eec64fff7a --- keystoneauth1/session.py | 2 +- keystoneauth1/tests/unit/test_session.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/keystoneauth1/session.py b/keystoneauth1/session.py index e4133eda..a790a3d4 100644 --- a/keystoneauth1/session.py +++ b/keystoneauth1/session.py @@ -211,7 +211,7 @@ class Session(object): user_agent = None - _REDIRECT_STATUSES = (301, 302, 303, 305, 307) + _REDIRECT_STATUSES = (301, 302, 303, 305, 307, 308) _DEFAULT_REDIRECT_LIMIT = 30 diff --git a/keystoneauth1/tests/unit/test_session.py b/keystoneauth1/tests/unit/test_session.py index 39c87d35..4a083472 100644 --- a/keystoneauth1/tests/unit/test_session.py +++ b/keystoneauth1/tests/unit/test_session.py @@ -362,6 +362,12 @@ class RedirectTests(utils.TestCase): self.assertEqual(r.url, s.url) self.assertEqual(r.status_code, s.status_code) + def test_permanent_redirect_308(self): + session = client_session.Session() + self.setup_redirects(status_code=308) + resp = session.get(self.REDIRECT_CHAIN[-2]) + self.assertResponse(resp) + class AuthPlugin(plugin.BaseAuthPlugin): """Very simple debug authentication plugin.