sqs.changeMessageVisibility according to [this](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html#API_ChangeMessageVisibility_Examples) makes a request directly to the Queue's URL rather than via the SQS Endpoint. (I'm already setting SQS endpoint to LOCALSTACK_HOSTNAME - makes no difference for this call)..

In localstack the queue URL host returned is by default set to the value of HOSTNAME_EXTERNAL, which I'm setting to localstack, but calling this method within a lambda, does not work and I get the error:

```
UnknownEndpoint: Inaccessible host: `localstack'. This service may not be available in the `us-east-1' region. 
```

So, how can I make the queue URL accessible from within a lambda using localstack? Effectively I need to make **http://localstack** accessible from within lambda.

I'm using the following cmd to start localstack:

```
LAMBDA_EXECUTOR=docker-reuse DEBUG=1 LAMBDA_REMOTE_DOCKER=0 DATA_DIR=/tmp/localstack/data HOSTNAME_EXTERNAL=localstack localstack start
```
parsed = urlparse.urlparse(path)
    path_parts = parsed.path.lstrip('/').split('/', 1)
    if uses_path_addressing(headers):
        return path_parts[1]
    return path_parts[0]
def uses_path_addressing(headers):
    host = headers['host']
    return host.startswith(HOSTNAME) or host.startswith(HOSTNAME_EXTERNAL)
def get_bucket_name(path, headers):
    parsed = urlparse.urlparse(path)
    
    bucket_name = parsed.path.split('/')[1]
    
    if uses_path_addressing(headers):
        return normalize_bucket_name(bucket_name)
    
    
    
    common_pattern = re.compile(r'^(.+)\.s3[.\-][a-z]{2}-[a-z]+-[0-9]{1,}'
                                r'\.amazonaws\.com(\.[a-z]+)?$')
    
    
    
    dualstack_pattern = re.compile(r'^(.+)\.s3\.dualstack\.[a-z]{2}-[a-z]+-[0-9]{1,}'
                                   r'\.amazonaws\.com(\.[a-z]+)?$')
    
    
    
    legacy_patterns = re.compile(r'^(.+)\.s3\.?(-external-1)?\.amazonaws\.com(\.[a-z]+)?$')