summaryrefslogtreecommitdiffstats
path: root/config_binding_service/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'config_binding_service/client.py')
-rw-r--r--config_binding_service/client.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/config_binding_service/client.py b/config_binding_service/client.py
index 51ce3b1..a87c3bc 100644
--- a/config_binding_service/client.py
+++ b/config_binding_service/client.py
@@ -87,8 +87,11 @@ def _consul_get_all_as_transaction(service_component_name):
new_res = {}
for res in result:
key = res["KV"]["Key"]
- new_res[key] = json.loads(base64.b64decode(
- res["KV"]["Value"]).decode("utf-8"))
+ val = base64.b64decode(res["KV"]["Value"]).decode("utf-8")
+ try:
+ new_res[key] = json.loads(val)
+ except json.decoder.JSONDecodeError:
+ new_res[key] = "INVALID JSON" # TODO, should we just include the original value somehow?
if service_component_name not in new_res:
raise CantGetConfig(404, "")