diff --git a/actions/devel/redis/__main__.py b/actions/devel/redis/__main__.py index 54a49e4..9fa45df 100644 --- a/actions/devel/redis/__main__.py +++ b/actions/devel/redis/__main__.py @@ -38,8 +38,7 @@ def build_response(data: CommandData): "statusCode": meta_data['status'], "body": meta_data['result'] } - if is_json(meta_data['result']): - result['headers'] = { 'Content-Type': 'application/json' } + print(f"{result}") return result def parse_body(args): diff --git a/actions/devel/redis/command/redis.py b/actions/devel/redis/command/redis.py index 9fa4a9e..be026a1 100644 --- a/actions/devel/redis/command/redis.py +++ b/actions/devel/redis/command/redis.py @@ -46,8 +46,20 @@ def execute(self, input:CommandData): try: r = redis.from_url(self._redis_url) result = r.execute_command(input.command()) - input.result(str(result.decode('utf-8'))) - input.status(200) + + if result: + input.status(200) + # Ensure result is always a string + if isinstance(result, bytes): + result = result.decode("utf-8") + else: + result = str(result) + + input.result(result) + else: + input.status(204) + input.result(None) + except Exception as e: input.result(f"could not execute redis command {e}") input.status(400)