diff --git a/localstack/services/apigateway/apigateway_listener.py b/localstack/services/apigateway/apigateway_listener.py index 6155b30467437..710db2299cff7 100644 --- a/localstack/services/apigateway/apigateway_listener.py +++ b/localstack/services/apigateway/apigateway_listener.py @@ -251,7 +251,9 @@ def invoke_rest_api(api_id, stage, method, invocation_path, data, headers, path= parsed_result = common.json_safe(parsed_result) parsed_result = {} if parsed_result is None else parsed_result response.status_code = int(parsed_result.get('statusCode', 200)) - response.headers.update((parsed_result or {}).get('headers', {})) + parsed_headers = parsed_result.get('headers', {}) + if parsed_headers is not None: + response.headers.update(parsed_headers) try: if isinstance(parsed_result['body'], dict): response._content = json.dumps(parsed_result['body'])