When creating the following bucket notification configuration:
```json
{
    "QueueConfigurations": [
        {
            "Id": "some-id",
            "QueueArn": "arn:aws:sqs:eu-central-1:123456789:my-queue",
            "Events": [
                "s3:ObjectCreated:*"
            ],
            "Filter": {
                "Key": {
                    "FilterRules": [
                        {
                            "Name": "Prefix",
                            "Value": "path/to/folder/"
                        },
                        {
                            "Name": "Suffix",
                            "Value": ".json"
                        }
                    ]
                }
            }
        }
    ]
}
```
and adding some files to S3, I get the following errors from localstack:

```
localstack.services.s3.s3_listener: Unknown filter name: "Prefix"
localstack.services.s3.s3_listener: Unknown filter name: "Suffix"
```

When I change the FilterRule names from "Prefix" to "prefix" and "Suffix" to "suffix", everything works. AWS supports the capitalised name, so this looks like a bug in localstack.
"""Tests for the existence of the specified bucket. Returns the error code
    if the bucket does not exist (200 if the bucket does exist).
    """
    bucket_name = normalize_bucket_name(bucket_name)
    s3_client = aws_stack.connect_to_service('s3')
    try:
        s3_client.head_bucket(Bucket=bucket_name)
    except ClientError as err:
        error_code = err.response.get('Error').get('Code')
        return False, error_code
    return True, 200
def check_content_md5(data, headers):
    actual = md5(strip_chunk_signatures(data))
    expected = headers['Content-MD5']
    try:
        expected = to_str(codecs.encode(base64.b64decode(expected), 'hex'))
    except Exception:
        expected = '__invalid__'
    if actual != expected:
        return error_response('The Content-MD5 you specified was invalid', 'InvalidDigest', status_code=400)
def error_response(message, code, status_code=400):