getBlobMetadata method

Future<Map<String, String>> getBlobMetadata(
  1. String blobId
)

Issues a HEAD request for blobId and returns the response headers.

Implementation

Future<Map<String, String>> getBlobMetadata(String blobId) async {
  logInfo('Fetching metadata for blob $blobId');
  final uri = _aggregatorUri('v1/blobs/$blobId');
  final response = await _executor.send(method: 'HEAD', uri: uri);

  if (!_isSuccessStatus(response.statusCode)) {
    final body = await response.stream.toBytes();
    throw _buildErrorFromResponse(
      statusCode: response.statusCode,
      context: 'Error retrieving metadata for blob ID: $blobId',
      bodyBytes: body,
      headers: response.headers,
      reasonPhrase: response.reasonPhrase,
    );
  }
  await response.stream.drain<void>();
  final headers = Map<String, String>.from(response.headers);
  logInfo('Retrieved metadata for blob $blobId');
  return headers;
}