As reported in https://github.com/localstack/localstack/issues/6659#issuecomment-1630932643_, `HeadObject` does not respect `ChecksumMode`. 


```shell
at 09:31:57 ➜ AWS_DEFAULT_REGION=us-west-1 aws --endpoint-url=http://localhost:4566 s3api create-bucket --bucket test-bucket --create-bucket-configuration LocationConstraint=us-west-1
{
    "Location": "http://test-bucket.s3.localhost.localstack.cloud:4566/"
}

at 09:32:13 ➜ aws --endpoint-url=http://localhost:4566 s3api put-object --bucket test-bucket --key file.json --body README.md --checksum-algorithm SHA256
{
    "ETag": "\"4bb2f1387449d690bff6336ea255909c\"",
    "ChecksumSHA256": "bzOikXXMUqRTCrpVq7Pt7LjJ0fjR3ccUfM19S/gnfqA="
}

# SHA256 missing here
at 09:32:20 ➜ aws --endpoint-url=http://localhost:4566 s3api head-object --bucket test-bucket --key file.json --checksum-mode Enabled
{
    "AcceptRanges": "bytes",
    "LastModified": "2023-07-11T13:32:15+00:00",
    "ContentLength": 1455,
    "ETag": "\"4bb2f1387449d690bff6336ea255909c\"",
    "ContentType": "binary/octet-stream",
    "Metadata": {}
}
```

Note the equivalent response from S3 actual includes the SHA256 value

```shell
at 10:21:23 ➜ aws s3api head-object --bucket test-bucket --key file.json --checksum-mode Enabled
{
    "AcceptRanges": "bytes",
    "Expiration": "expiry-date=\"Thu, 13 Jul 2023 00:00:00 GMT\", rule-id=\"all\"",
    "LastModified": "2023-07-11T14:21:09+00:00",
    "ContentLength": 1956,
    "ChecksumSHA256": "bj7fqCqtaF95M1ULwQRDJuHbL/Xd9NVMH6pua9OINcc=",
    "ETag": "\"f4be535d45019a4408dd5369986919f8\"",
    "ContentEncoding": "",
    "ContentType": "binary/octet-stream",
   
    "Metadata": {},
    
}
```

_Originally posted by @bdurrani in https://github.com/localstack/localstack/issues/6659#issuecomment-1630932643_
            
"""
        Requests going to moto will never be subdomain based, as they passed through the VirtualHost forwarder.
        We know the bucket is in the path, we can directly return it.
        """
        path = urlparse(url).path
        return path.split("/")[1]
    @patch(moto_s3_responses.S3ResponseInstance.subdomain_based_buckets, pass_target=False)
    def subdomain_based_buckets(self, request):
        """
        Requests going to moto will never be subdomain based, as they passed through the VirtualHost forwarder
        """
        return False
    @patch(moto_s3_models.FakeBucket.get_permission)
    def bucket_get_permission(fn, self, *args, **kwargs):
        """
        Apply a patch to disable/enable enforcement of S3 bucket policies
        """
        if not s3_constants.ENABLE_MOTO_BUCKET_POLICY_ENFORCEMENT:
            return PermissionResult.PERMITTED
        return fn(self, *args, **kwargs)
def register_custom_handlers():
    serve_custom_service_request_handlers.append(s3_cors_request_handler)
    serve_custom_service_request_handlers.append(s3_presigned_url_request_handler)
    modify_service_response.append(S3Provider.service, s3_presigned_url_response_handler)