Using s3 range request with localstack causes incorrect content type to be returned & some metadata to be missing:
To reproduce, put object:
`aws s3api put-object --endpoint http://localhost:3006 --bucket some-bucket --key some-dir/some-key --body text.txt --content-type text/plain --content-language en-US --cache-control no-cache`

And compare regular request vs range one:
`aws s3api get-object --endpoint http://localhost:3006 --bucket some-bucket --key some-dir/some-key output.txt --range bytes=0-3`
`aws s3api get-object --endpoint http://localhost:3006 --bucket some-bucket --key some-dir/some-key output.txt`

This works correctly (returns the same metadata regardless of using `--range bytes=0-3`) on aws s3.

Also:
Getting object with/without `range bytes=0-3` should return header "AcceptRanges: bytes" but it doesn't.
bucket_name = normalize_bucket_name(bucket_name)
    response = Response()
    exists, code = bucket_exists(bucket_name)
    if not exists:
        response.status_code = code
        return response
    if not isinstance(cors, dict):
        cors = xmltodict.parse(cors)
    BUCKET_CORS[bucket_name] = cors
    response.status_code = 200
    return response
def delete_cors(bucket_name):
    bucket_name = normalize_bucket_name(bucket_name)
    response = Response()
    exists, code = bucket_exists(bucket_name)
    if not exists:
        response.status_code = code
        return response
    BUCKET_CORS.pop(bucket_name, {})
    response.status_code = 200
    return response
def append_cors_headers(bucket_name, request_method, request_headers, response):