From aae254df55c6f3316927e8926fded15d91d964c5 Mon Sep 17 00:00:00 2001 From: Samuel Merritt Date: Sat, 21 Dec 2013 11:32:34 -0800 Subject: [PATCH] Make POST for bulk delete actually work Change-Id: I568e7e31df3dcbeac20dba6d543a13c0409de00e Closes-Bug: 1232787 --- swift/common/middleware/bulk.py | 1 + test/unit/common/middleware/test_bulk.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/swift/common/middleware/bulk.py b/swift/common/middleware/bulk.py index f19815c5a8..dec098c85e 100644 --- a/swift/common/middleware/bulk.py +++ b/swift/common/middleware/bulk.py @@ -331,6 +331,7 @@ class Bulk(object): new_env['PATH_INFO'] = delete_path del(new_env['wsgi.input']) new_env['CONTENT_LENGTH'] = 0 + new_env['REQUEST_METHOD'] = 'DELETE' new_env['HTTP_USER_AGENT'] = \ '%s %s' % (req.environ.get('HTTP_USER_AGENT'), user_agent) new_env['swift.source'] = swift_source diff --git a/test/unit/common/middleware/test_bulk.py b/test/unit/common/middleware/test_bulk.py index 165808f2ae..3a0d0431aa 100644 --- a/test/unit/common/middleware/test_bulk.py +++ b/test/unit/common/middleware/test_bulk.py @@ -64,7 +64,8 @@ class FakeApp(object): if len(env['PATH_INFO']) > 100: return Response(status='400 Bad Request')(env, start_response) return Response(status='201 Created')(env, start_response) - if env['PATH_INFO'].startswith('/delete_works/'): + if (env['PATH_INFO'].startswith('/delete_works/') + and env['REQUEST_METHOD'] == 'DELETE'): self.delete_paths.append(env['PATH_INFO']) if len(env['PATH_INFO']) > self.max_pathlen: return Response(status='400 Bad Request')(env, start_response)