diff --git a/swift/common/wsgi.py b/swift/common/wsgi.py index fbb3d5d009..3a75e7197f 100644 --- a/swift/common/wsgi.py +++ b/swift/common/wsgi.py @@ -1090,7 +1090,7 @@ def make_env(env, method=None, path=None, agent='Swift', query_string=None, 'HTTP_ORIGIN', 'HTTP_ACCESS_CONTROL_REQUEST_METHOD', 'SERVER_PROTOCOL', 'swift.cache', 'swift.source', 'swift.trans_id', 'swift.authorize_override', - 'swift.authorize'): + 'swift.authorize', 'HTTP_X_USER_ID', 'HTTP_X_PROJECT_ID'): if name in env: newenv[name] = env[name] if method: diff --git a/test/unit/common/test_wsgi.py b/test/unit/common/test_wsgi.py index a165ecb5f2..7a5b03696e 100644 --- a/test/unit/common/test_wsgi.py +++ b/test/unit/common/test_wsgi.py @@ -816,6 +816,16 @@ class TestWSGI(unittest.TestCase): self.assertEquals(r.environ['SCRIPT_NAME'], '') self.assertEquals(r.environ['PATH_INFO'], '/override') + def test_make_env_keep_user_project_id(self): + oldenv = {'HTTP_X_USER_ID': '1234', 'HTTP_X_PROJECT_ID': '5678'} + newenv = wsgi.make_env(oldenv) + + self.assertTrue('HTTP_X_USER_ID' in newenv) + self.assertEquals(newenv['HTTP_X_USER_ID'], '1234') + + self.assertTrue('HTTP_X_PROJECT_ID' in newenv) + self.assertEquals(newenv['HTTP_X_PROJECT_ID'], '5678') + class TestServersPerPortStrategy(unittest.TestCase): def setUp(self):