in sdk/OssClient.cs [1629:1676]
public bool DoesObjectExist(string bucketName, string key)
{
try
{
var cmd = HeadObjectCommand.Create(_serviceClient, _endpoint,
CreateContext(HttpMethod.Head, bucketName, key),
bucketName, key);
using (cmd.Execute())
{
// Do nothing
}
}
catch (OssException e)
{
if (e.ErrorCode == OssErrorCode.NoSuchBucket ||
e.ErrorCode == OssErrorCode.NoSuchKey)
{
return false;
}
// Rethrow
throw;
}
catch (WebException ex)
{
HttpWebResponse errorResponse = ex.Response as HttpWebResponse;
if (errorResponse.StatusCode == HttpStatusCode.NotFound)
{
return false;
}
// Rethrow
throw;
}
#if NETCOREAPP2_0
catch (System.Net.Http.HttpRequestException ex2)
{
if (ex2.Message.Contains("404"))
{
return false;
}
throw;
}
#endif
return true;
}