From 0d0c9b91ed278f964f686359f50748a4bee0fc25 Mon Sep 17 00:00:00 2001 From: Samuel Merritt Date: Wed, 2 May 2018 11:58:30 -0700 Subject: [PATCH] s3api: simplify BaseAclHandler.request_with It's just constructing a new object; there's no need for it to be a context manager. Change-Id: I9716f6c4e45bcdf80543cf661f922da681d602aa --- swift/common/middleware/s3api/acl_handlers.py | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/swift/common/middleware/s3api/acl_handlers.py b/swift/common/middleware/s3api/acl_handlers.py index 7f43e664ec..ad563dad7e 100644 --- a/swift/common/middleware/s3api/acl_handlers.py +++ b/swift/common/middleware/s3api/acl_handlers.py @@ -58,7 +58,6 @@ from swift.common.middleware.s3api.etree import fromstring, XMLSyntaxError, \ DocumentInvalid from swift.common.middleware.s3api.utils import MULTIUPLOAD_SUFFIX, \ sysmeta_header -from contextlib import contextmanager def get_acl_handler(controller_name): @@ -85,19 +84,18 @@ class BaseAclHandler(object): self.headers = req.headers if headers is None else headers self.logger = logger - @contextmanager def request_with(self, container, obj, headers): - yield type(self)(self.req, self.logger, - container=container, obj=obj, headers=headers) + return type(self)(self.req, self.logger, + container=container, obj=obj, headers=headers) def handle_acl(self, app, method, container=None, obj=None, headers=None): method = method or self.method - with self.request_with(container, obj, headers) as ah: - if hasattr(ah, method): - return getattr(ah, method)(app) - else: - return ah._handle_acl(app, method) + ah = self.request_with(container, obj, headers) + if hasattr(ah, method): + return getattr(ah, method)(app) + else: + return ah._handle_acl(app, method) def _handle_acl(self, app, sw_method, container=None, obj=None, permission=None, headers=None): @@ -332,12 +330,10 @@ class MultiUploadAclHandler(BaseAclHandler): def handle_acl(self, app, method, container=None, obj=None, headers=None): method = method or self.method - with self.request_with(container, obj, headers) as ah: - # MultiUpload stuffs don't need acl check basically. - if hasattr(ah, method): - return getattr(ah, method)(app) - else: - pass + ah = self.request_with(container, obj, headers) + # MultiUpload stuffs don't need acl check basically. + if hasattr(ah, method): + return getattr(ah, method)(app) def HEAD(self, app): # For _check_upload_info