Просмотр исходного кода

Added is_json kwarg to utils.decode_base64_param()

Nashwan Azhari 8 лет назад
Родитель
Сommit
d8dacb7af3
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      coriolis/utils.py

+ 6 - 3
coriolis/utils.py

@@ -385,8 +385,11 @@ def parse_int_value(value):
         raise exception.InvalidInput("Invalid integer: %s" % value)
 
 
-def decode_base64_param(value):
+def decode_base64_param(value, is_json=False):
     try:
-        return base64.b64decode(value).decode()
-    except (binascii.Error, TypeError) as ex:
+        decoded = base64.b64decode(value).decode()
+        if is_json:
+            decoded = json.loads(decoded)
+        return decoded
+    except (binascii.Error, TypeError, json.decoder.JSONDecodeError) as ex:
         raise exception.InvalidInput(reason=str(ex))