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 = 'bucket-big-file-%s' % short_uid()
        key1 = 'test_key1'
        key2 = 'test_key1'
        self.s3_client.create_bucket(Bucket=bucket_name)
        body1 = '\x01' * 10000000
        rs = self.s3_client.put_object(Bucket=bucket_name, Key=key1, Body=body1)
        self.assertEqual(rs['ResponseMetadata']['HTTPStatusCode'], 200)
        body2 = 'a' * 10000000
        rs = self.s3_client.put_object(Bucket=bucket_name, Key=key2, Body=body2)
        self.assertEqual(rs['ResponseMetadata']['HTTPStatusCode'], 200)
        rs = self.s3_client.head_object(Bucket=bucket_name, Key=key1)
        self.assertEqual(rs['ContentLength'], len(body1))
        rs = self.s3_client.head_object(Bucket=bucket_name, Key=key2)
        self.assertEqual(rs['ContentLength'], len(body2))
        
        self._delete_bucket(bucket_name, [key1, key2])
    
    
    
    @staticmethod
    def generate_large_file(size):