Guys,

I've started using Localstack recently and loving it so far. I've ran into an issue and can't figure out what I am missing in my configuration if there is any.

So, i've managed to configure and test the following successfully

1.  `
API GW --> SQS` - If I post a message to the HTTP Endpoint it gets to SQS and I see SQS response (Default SQS style, i.e SendMessageResponse XML)

2. `SQS --> Lambda` - If I post a message into SQS manually, then corresponding Lambda gets triggered (I see Lambda logs) and I see SQS response (Default SQS style, i.e SendMessageResponse XML)

But If I combine these two i.e

`API GW --> SQS --> Lambda` - then

- I see Lambda is being excuted (i see lambda logs  exactly how they are in 2 above)
- But don't get SQS response (Default SQS style, i.e SendMessageResponse XML)
- Following exception is being thrown

```
localstack_1  | 2019-09-25T14:09:53:ERROR:localstack.services.generic_proxy: Error forwarding request: object supporting the buffer API required Traceback (most recent call last):
localstack_1  |   File "/opt/code/localstack/localstack/services/generic_proxy.py", line 239, in forward
localstack_1  |     path=path, data=data, headers=forward_headers)
localstack_1  |   File "/opt/code/localstack/localstack/services/sqs/sqs_listener.py", line 49, in forward_request
localstack_1  |     new_response = self._send_message(path, data, req_data, headers)
localstack_1  |   File "/opt/code/localstack/localstack/services/sqs/sqs_listener.py", line 237, in _send_message
localstack_1  |     message_attr_hash=md5(data),
localstack_1  |   File "/opt/code/localstack/localstack/utils/common.py", line 304, in md5
localstack_1  |     m.update(to_bytes(string))
localstack_1  | TypeError: object supporting the buffer API required
```

`Implement API Gateway SQS proxy` is recently implented with PR https://github.com/localstack/localstack/pull/1354 (Thanks to @mathewpower )

and I'm wondering is this anything to do with missing `data=` parameter at 
https://github.com/mathewpower/localstack/blob/028cc8660317aac426c1195ba7d8dedf45ef9007/localstack/services/apigateway/apigateway_listener.py#L86

Really appreciate your help on this.

Thanks 

#if($numRecords > 0)
            #set( $maxIndex = $numRecords - 1 )
            #foreach( $idx in [0..$maxIndex] )
            #set( $elem = $input.path("$.records[${idx}]") )
            #set( $elemJsonB64 = $util.base64Encode($elem.data) )
            {
                "Data": "$elemJsonB64",
                "PartitionKey": #if( $elem.partitionKey != '')"$elem.partitionKey"
                                #else"$elemJsonB64.length()"#end
            }#if($foreach.hasNext),#end
            #end
            #end
        ]
    }"""
    
    API_PATH_DATA_INBOUND = '/data'
    API_PATH_HTTP_BACKEND = '/hello_world'
    API_PATH_LAMBDA_PROXY_BACKEND = '/lambda/foo1'
    API_PATH_LAMBDA_PROXY_BACKEND_WITH_PATH_PARAM = '/lambda/{test_param1}'
    API_PATH_LAMBDA_PROXY_BACKEND_ANY_METHOD = '/lambda-any-method/foo1'
    API_PATH_LAMBDA_PROXY_BACKEND_ANY_METHOD_WITH_PATH_PARAM = '/lambda-any-method/{test_param1}'
    
    TEST_STREAM_KINESIS_API_GW = 'test-stream-api-gw'
    TEST_SQS_QUEUE = 'test-sqs-queue-api-gw'
    TEST_STAGE_NAME = 'testing'
    TEST_LAMBDA_PROXY_BACKEND = 'test_lambda_apigw_backend'
    TEST_LAMBDA_PROXY_BACKEND_WITH_PATH_PARAM = 'test_lambda_apigw_backend_path_param'
    TEST_LAMBDA_PROXY_BACKEND_ANY_METHOD = 'test_ARMlambda_apigw_backend_any_method'
    TEST_LAMBDA_PROXY_BACKEND_ANY_METHOD_WITH_PATH_PARAM = 'test_ARMlambda_apigw_backend_any_method_path_param'
    def test_api_gateway_kinesis_integration(self):