Microsoft.CodeAnalysis.Sarif.FileData.Create C# (CSharp) Method

Create() public static method

public static Create ( Uri uri, bool computeHashes ) : FileData
uri System.Uri
computeHashes bool
return FileData
        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;
        }

Usage Example

Ejemplo n.º 1
0
        public void FileData_PersistTextFileContentsBigEndianUnicode()
        {
            Encoding encoding  = Encoding.BigEndianUnicode;
            string   filePath  = Path.GetTempFileName() + ".cs";
            string   textValue = "अचम्भा";

            byte[] fileContents = encoding.GetBytes(textValue);

            Uri uri = new Uri(filePath);

            try
            {
                File.WriteAllBytes(filePath, fileContents);
                FileData fileData = FileData.Create(uri, OptionallyEmittedData.TextFiles, mimeType: null, encoding: encoding);
                fileData.FileLocation.Should().Be(null);
                fileData.MimeType.Should().Be(MimeType.CSharp);
                fileData.Hashes.Should().BeNull();

                string encodedFileContents = encoding.GetString(fileContents);
                fileData.Contents.Text.Should().Be(encodedFileContents);
            }
            finally
            {
                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }
            }
        }
All Usage Examples Of Microsoft.CodeAnalysis.Sarif.FileData::Create