getBlobMetadata method
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;
}