public override Task <ScanFolderResponse> ScanFolder(ScanFolderRequest request, ServerCallContext context)
        {
            _logger.LogDebug($"Scanning folder {request.Path}...");
            return(Task.Run(() =>
            {
                var response = new ScanFolderResponse()
                {
                    AntivirusInfo = "The Incredible Antivirus v0.9 alpha"
                };

                var directory = new DirectoryInfo(request.Path);
                var files = directory.GetFiles();
                foreach (var file in files)
                {
                    response.InfectedFiles.Add(new InfectedFile
                    {
                        FileName = file.Name,
                        MalwareName = "LockerYoga"
                    });
                }

                _logger.LogDebug($"Scan result: {response}");
                return response;
            }));
        }
Beispiel #2
0
        private static async Task ScanFolderTest(AntimalwareService.AntimalwareServiceClient client)
        {
            Console.WriteLine($"\nCalling 'ScanFolder'...");

            var request = new ScanFolderRequest()
            {
                Path = @"C:\Temp\Data"
            };
            var result = await client.ScanFolderAsync(request);

            Console.WriteLine($"Scanned by {result.AntivirusInfo}");
            foreach (var infectedFile in result.InfectedFiles)
            {
                Console.WriteLine($"\tFile {infectedFile.FileName} is infected by {infectedFile.MalwareName}");
            }
        }