Class HttpStorageRpcHasherHelper (2.70.0)

public final class HttpStorageRpcHasherHelper

Internal utility class to perform client-side CRC32C checksum validation on downloaded data specifically for the HttpStorageRpc transport layer.

Inheritance

java.lang.Object > HttpStorageRpcHasherHelper

Static Fields

INSTANCE

public static final HttpStorageRpcHasherHelper INSTANCE
Field Value
Type Description
HttpStorageRpcHasherHelper

Methods

shouldValidate(HttpResponse response)

public boolean shouldValidate(HttpResponse response)

Determines if client-side validation should be performed on the downloaded object.

Parameter
Name Description
response com.google.api.client.http.HttpResponse
Returns
Type Description
boolean

validate(HttpResponse response, OutputStream activeStream)

public void validate(HttpResponse response, OutputStream activeStream)

Validates the downloaded output stream against GCS's expected base64-encoded value in response headers.

Parameters
Name Description
response com.google.api.client.http.HttpResponse
activeStream OutputStream
Exceptions
Type Description
IOException

if the checksums do not match.

validateCrc32c(String expectedCrc32cBase64, byte[] content)

public void validateCrc32c(String expectedCrc32cBase64, byte[] content)

Validates a downloaded raw byte array against GCS's expected base64-encoded value.

Parameters
Name Description
expectedCrc32cBase64 String
content byte[]
Exceptions
Type Description
IOException

if the checksums do not match.

validateCrc32c(String expectedCrc32cBase64, int calculatedCrc32c)

public void validateCrc32c(String expectedCrc32cBase64, int calculatedCrc32c)

Validates a calculated CRC32C value against GCS's expected base64-encoded value.

Parameters
Name Description
expectedCrc32cBase64 String
calculatedCrc32c int
Exceptions
Type Description
IOException

if the checksums do not match.

wrap(OutputStream out, boolean isChecksumValidationEnabled)

public OutputStream wrap(OutputStream out, boolean isChecksumValidationEnabled)

Returns a wrapping output stream that hashes the written content if validation is enabled, or the original output stream otherwise.

Parameters
Name Description
out OutputStream
isChecksumValidationEnabled boolean
Returns
Type Description
OutputStream