public async Task<ObjectMetadata> GetObjectMetadata(string bucketName, string key)
{
ObjectMetadata result = null;
OssHttpRequestMessage httpRequestMessage = null;
HttpResponseMessage response = null;
try
{
httpRequestMessage = new OssHttpRequestMessage(bucketName, key);
httpRequestMessage.Method = HttpMethod.Head;
httpRequestMessage.Headers.Date = DateTime.UtcNow;
OssRequestSigner.Sign(httpRequestMessage, networkCredential);
response = await httpClient.SendAsync(httpRequestMessage);
if (response.IsSuccessStatusCode == false)
{
await ErrorResponseHandler.Handle(response);
}
var temp = DeserializerFactory.GetFactory().CreateGetObjectMetadataResultDeserializer();
result = temp.Deserialize(response);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (httpRequestMessage != null)
httpRequestMessage.Dispose();
if (response != null)
response.Dispose();
}
return result;
}