Beispiel #1
0
        public override Task <EndpointCheckReply> CheckEndpoint(EndpointCheckRequest request, ServerCallContext context)
        {
            var item = JsonConvert.DeserializeObject <EndpointCheck>(request.Json);

            item.StartTime = DateTime.Now;
            item.Success   = true;
            item.Message   = "";

            //Start Checks

            if (item.Platform.ToLower() != "windows")
            {
                item.Success = false;
                item.Message = "Not Windows";
            }

            //End Checks

            item.EndTime = DateTime.Now;

            var reply = new EndpointCheckReply
            {
                Json = JsonConvert.SerializeObject(item)
            };

            return(Task.FromResult(reply));
        }
Beispiel #2
0
        public static async Task <EndpointItemCheck> ProcessItemTaskAsync(EndpointItem item, Checker.CheckerClient client)
        {
            EndpointItemCheck check;
            var _request = new EndpointCheckRequest()
            {
                Content = JsonSerializer.Serialize(item)
            };

            try
            {
                var _reply = await client.CheckEndpointAsync(_request);

                check = JsonSerializer.Deserialize <EndpointItemCheck>(_reply.Content);
            }
            catch (Exception e)
            {
                check = new EndpointItemCheck()
                {
                    Endpoint = item,
                    Message  = e.Message
                };
            }

            return(check);
        }
Beispiel #3
0
        public override Task <EndpointCheckReply> CheckEndpoint(EndpointCheckRequest p_request, ServerCallContext p_context)
        {
            List <string> platformList = new List <string>()
            {
                "windows", "linux"
            };
            var item      = JsonSerializer.Deserialize <EndpointItem>(p_request.Content);
            var itemCheck = new EndpointItemCheck()
            {
                Endpoint = item
            };

            if (!platformList.Contains(item.Platform.ToLower()))
            {
                itemCheck.Message += "Platform is not windows or linux";
            }

            var reply = new EndpointCheckReply
            {
                Content = JsonSerializer.Serialize(itemCheck)
            };

            _logger.LogInformation(JsonSerializer.Serialize(reply));

            return(Task.FromResult(reply));
        }
Beispiel #4
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("gRPC Greet Client - SSL");
            Console.WriteLine("Enter number of checks:");
            var numberOfChecks = Int32.Parse(Console.ReadLine());

            //var cert = X509Certificate.CreateFromCertFile("C:\\certs\\GreeterCert.crt");
            X509Certificate cert = X509Certificate.CreateFromSignedFile("C:\\certs\\GreeterCert.crt");

            var handler = new HttpClientHandler();

            handler.ClientCertificates.Add(cert);
            var httpClient = new HttpClient(handler);

            using var channel = GrpcChannel.ForAddress("https://localhost:50051", new GrpcChannelOptions
            {
                HttpClient = httpClient
            })
            ;
            var endpointClient = new Checker.CheckerClient(channel);

            var stopwatch = new Stopwatch();
            List <EndpointItem> endpointItemList = Utils.CreateEndpointList(numberOfChecks);

            Console.WriteLine(endpointItemList.Count.ToString() + " items to process");

            stopwatch.Start();

            foreach (var item in endpointItemList)
            {
                var request = new EndpointCheckRequest()
                {
                    Content = JsonSerializer.Serialize(item)
                };
                var check = new EndpointItemCheck();
                try
                {
                    var reply = await endpointClient.CheckEndpointAsync(request);

                    check = JsonSerializer.Deserialize <EndpointItemCheck>(reply.Content);
                }
                catch (Exception e)
                {
                    check = new EndpointItemCheck()
                    {
                        Endpoint = item,
                        Message  = e.Message
                    };
                }
                Console.WriteLine(check.Endpoint.Name + " - " + check.Result + " " + check.Message);
            }

            stopwatch.Stop();
            Console.WriteLine("Finshed " + numberOfChecks + " records in " + stopwatch.Elapsed + " seconds");

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
Beispiel #5
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("gRPC Greet Client - Sync");
            Console.WriteLine("Enter number of checks:");
            var numberOfChecks = Int32.Parse(Console.ReadLine());

            using var channel = GrpcChannel.ForAddress("https://localhost:5000");
            var endpointClient = new Checker.CheckerClient(channel);

            //if (HasPulse(endpointClient).Result)
            //{
            var stopwatch = new Stopwatch();
            List <EndpointItem> EndpointItemList = Utils.CreateEndpointList(numberOfChecks);

            Console.WriteLine(EndpointItemList.Count.ToString() + " items to process");

            stopwatch.Start();

            foreach (var item in EndpointItemList)
            {
                var request = new EndpointCheckRequest()
                {
                    Content = JsonSerializer.Serialize(item)
                };
                var check = new EndpointItemCheck();
                try
                {
                    var reply = await endpointClient.CheckEndpointAsync(request);

                    check = JsonSerializer.Deserialize <EndpointItemCheck>(reply.Content);
                }
                catch (Exception e)
                {
                    check = new EndpointItemCheck()
                    {
                        Endpoint = item,
                        Message  = e.Message
                    };
                }
                Console.WriteLine(check.Endpoint.Name + " - " + check.Result + " " + check.Message);
            }

            stopwatch.Stop();
            Console.WriteLine("Finshed " + numberOfChecks + " records in " + stopwatch.Elapsed + " seconds");

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