Esempio n. 1
0
        private static async Task CopyFolderTest(StorageService.StorageServiceClient client)
        {
            Console.WriteLine($"\nCalling 'CopyFolder'...");

            var request = new CopyFolderRequest()
            {
                Source = @"C:\Temp\Data", Target = @"C:\Temp\Data_Temp"
            };

            var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(3));

            using var streamingCall = client.CopyFolder(request, cancellationToken: cancellationTokenSource.Token);

            try
            {
                await foreach (var copyItem in streamingCall.ResponseStream.ReadAllAsync(cancellationTokenSource.Token))
                {
                    Console.WriteLine($"\tFile copied: {copyItem.FileName}, created at {copyItem.CreationTimestamp.ToDateTime()}");
                }
            }
            catch (RpcException ex) when(ex.StatusCode == StatusCode.Cancelled)
            {
                Console.WriteLine("Stream cancelled.");
            }
        }
Esempio n. 2
0
        private static async Task CopyFileTest(StorageService.StorageServiceClient client)
        {
            Console.WriteLine($"\nCalling 'CopyFile'...");

            var request = new CopyFileRequest()
            {
                Source = @"C:\Temp\data.bin", Target = @"C:\Temp\data_copy.bin"
            };
            var result = await client.CopyFileAsync(request);

            Console.WriteLine($"\tFile {request.Source} copied to {result.Path}");
        }
Esempio n. 3
0
        static async Task Main(string[] args)
        {
            var httpClientHandler = new HttpClientHandler();

            var clientCertificate = new X509Certificate2("Porcupine.Client.pfx", "Test");

            httpClientHandler.ClientCertificates.Add(clientCertificate);

            httpClientHandler.ServerCertificateCustomValidationCallback = (message, certificate, chain, errors) =>
            {
                return(certificate.Thumbprint == "F349F918CA0FA8D17C00866D5D0A0489ECEAF6A7");
            };

            var httpClient = new HttpClient(httpClientHandler);

            var server = "localhost";

            if (args.Length == 1)
            {
                server = args[0];
            }
            var url = $"https://{server}:5001";

            try
            {
                Console.WriteLine($"Server {url}");

                using var channel = GrpcChannel.ForAddress($"https://{server}:5001", new GrpcChannelOptions { HttpClient = httpClient });

                var storageServiceClient = new StorageService.StorageServiceClient(channel);
                await CopyFileTest(storageServiceClient);
                await CopyFolderTest(storageServiceClient);

                var antimalwareServiceClient = new AntimalwareService.AntimalwareServiceClient(channel);
                await ScanFolderTest(antimalwareServiceClient);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }