It looks like a duplicate of old issue https://github.com/localstack/localstack/issues/78
But now it's reproducible for me with the latest version of LocalStack. 
""" Extract request data either from query string (for GET) or request body (for POST). """
        if method == 'POST':
            return urlparse.parse_qs(to_str(data))
        elif method == 'GET':
            parsed_path = urlparse.urlparse(path)
            return urlparse.parse_qs(parsed_path.query)
        return {}
    def return_response(self, method, path, data, headers, response, request_handler):
        if method == 'OPTIONS' and path == '/':
            
            return 200
        if method != 'POST':
            return
        if response.status_code >= 400:
            return response
        region_name = extract_region_from_auth_header(headers)
        req_data = urlparse.parse_qs(to_str(data))
        action = req_data.get('Action', [None])[0]
        content_str = content_str_original = to_str(response.content)
        self._fire_event(req_data, response)