public static FileData Create(Uri uri, bool computeHashes)
{
if (uri == null) { throw new ArgumentNullException(nameof(uri)); }
var fileData = new FileData()
{
MimeType = SarifWriters.MimeType.DetermineFromFileExtension(uri)
};
if (computeHashes && uri.IsAbsoluteUri && uri.IsFile)
{
HashData hashes = HashUtilities.ComputeHashes(uri.LocalPath);
fileData.Hashes = new List<Hash>
{
new Hash()
{
Value = hashes.MD5,
Algorithm = AlgorithmKind.MD5,
},
new Hash()
{
Value = hashes.Sha1,
Algorithm = AlgorithmKind.Sha1,
},
new Hash()
{
Value = hashes.Sha256,
Algorithm = AlgorithmKind.Sha256,
},
};
}
return fileData;
}