From 7e3b21de8dd7b71752e615487b4211c1f4d4725b Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 31 Jan 2024 12:17:08 +0900 Subject: [PATCH] Ensure '-' in storlet object metadata ... to avoid detecting malformed headers like; X-Object-Meta-StorletFoo Change-Id: I16b6488c48f75cf2519d8dd387449f4fde69f3b1 --- storlets/swift_middleware/handlers/base.py | 2 +- storlets/swift_middleware/handlers/proxy.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/storlets/swift_middleware/handlers/base.py b/storlets/swift_middleware/handlers/base.py index 276ee34d..8d9a39ca 100644 --- a/storlets/swift_middleware/handlers/base.py +++ b/storlets/swift_middleware/handlers/base.py @@ -451,7 +451,7 @@ class StorletBaseHandler(object): def _get_user_metadata(self, headers): metadata = {} for key in headers: - if key.startswith('X-Object-Meta-Storlet'): + if key.startswith('X-Object-Meta-Storlet-'): pass elif key.startswith('X-Object-Meta-'): short_key = key[len('X-Object-Meta-'):] diff --git a/storlets/swift_middleware/handlers/proxy.py b/storlets/swift_middleware/handlers/proxy.py index c2f87002..a7c9000f 100644 --- a/storlets/swift_middleware/handlers/proxy.py +++ b/storlets/swift_middleware/handlers/proxy.py @@ -153,7 +153,7 @@ class StorletProxyHandler(StorletBaseHandler): """ params = dict() for key in headers: - if key.startswith('X-Object-Meta-Storlet'): + if key.startswith('X-Object-Meta-Storlet-'): params[key[len('X-Object-Meta-Storlet-'):]] = headers[key] return params @@ -425,7 +425,7 @@ class StorletProxyHandler(StorletBaseHandler): def _remove_storlet_headers(self, headers): for key in list(headers): if (key.startswith('X-Storlet-') or - key.startswith('X-Object-Meta-Storlet') or + key.startswith('X-Object-Meta-Storlet-') or key == 'X-Run-Storlet'): headers.pop(key)