<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[ X ] bug report
[ ] feature request

# Detailed description
Issue originally described and fixed here https://github.com/localstack/localstack/issues/2055 has been reverted by a subsequent change. This PR reverted the fix: https://github.com/localstack/localstack/pull/2202 on file apigateway_listener.py

See original issue for full details.

## Actual behaviour

Serverless Lambda gives a 502 bad gateway response.

`localstack_1  | 2020-04-06T16:03:43:ERROR:localstack.services.generic_proxy: Error forwarding request: 'NoneType' object is not iterable Traceback (most recent call last):
localstack_1  |   File "/opt/code/localstack/localstack/services/generic_proxy.py", line 247, in forward
localstack_1  |     listener_result = listener.forward_request(method=method,
localstack_1  |   File "/opt/code/localstack/localstack/services/apigateway/apigateway_listener.py", line 47, in forward_request
localstack_1  |     return invoke_rest_api(api_id, stage, method, relative_path_w_query_params, data, headers, path=path)
localstack_1  |   File "/opt/code/localstack/localstack/services/apigateway/apigateway_listener.py", line 254, in invoke_rest_api
localstack_1  |     response.headers.update((parsed_result or {}).get('headers', {}))
localstack_1  |   File "/usr/lib/python3.8/_collections_abc.py", line 837, in update
localstack_1  |     for key, value in other:
localstack_1  | TypeError: 'NoneType' object is not iterable
`
uri = integration.get('uri')
    if integration['type'] == 'AWS':
        if 'kinesis:action/' in uri:
            if uri.endswith('kinesis:action/PutRecords'):
                target = kinesis_listener.ACTION_PUT_RECORDS
            if uri.endswith('kinesis:action/ListStreams'):
                target = kinesis_listener.ACTION_LIST_STREAMS
            template = integration['requestTemplates'][APPLICATION_JSON]
            new_request = aws_stack.render_velocity_template(template, data)
            
            headers = aws_stack.mock_aws_request_headers(service='kinesis')
            headers['X-Amz-Target'] = target
            result = common.make_http_request(url=TEST_KINESIS_URL,
                method='POST', data=new_request, headers=headers)
            return result
        if method == 'POST':
            if uri.startswith('arn:aws:apigateway:') and ':sqs:path' in uri:
                template = integration['requestTemplates'][APPLICATION_JSON]
                account_id, queue = uri.split('/')[-2:]
                region_name = uri.split(':')[3]
                new_request = aws_stack.render_velocity_template(template, data) + '&QueueName=%s' % queue
                headers = aws_stack.mock_aws_request_headers(service='sqs', region_name=region_name)
                url = urljoin(TEST_SQS_URL, 'queue/%s' % queue)
                result = common.make_http_request(url, method='POST', headers=headers, data=new_request)
                return result
        msg = 'API Gateway AWS integration action URI "%s", method "%s" not yet implemented' % (uri, method)
        LOGGER.warning(msg)
        return make_error_response(msg, 404)
    elif integration['type'] == 'AWS_PROXY':
        if uri.startswith('arn:aws:apigateway:') and ':lambda:path' in uri: