Exemplo n.º 1
0
        public ApiModule()
        {
            Get["/heartbeats/stats"] = _ => Negotiate.WithModel(Monitoring.GetStats());

            Get["/endpoints"] = _ => Negotiate.WithModel(Monitoring.GetEndpoints());

            Get["/endpoints/known", true] = (parameters, token) => GetKnownEndpointsApi.Execute(this, NoInput.Instance);

            Patch["/endpoints/{id}", true] = async(parameters, token) =>
            {
                var data       = this.Bind <EndpointUpdateModel>();
                var endpointId = (Guid)parameters.id;

                if (data.MonitorHeartbeat)
                {
                    await Monitoring.EnableMonitoring(endpointId)
                    .ConfigureAwait(false);
                }
                else
                {
                    await Monitoring.DisableMonitoring(endpointId)
                    .ConfigureAwait(false);
                }

                return(HttpStatusCode.Accepted);
            };
        }
Exemplo n.º 2
0
 internal EndpointsMonitoringController(EndpointInstanceMonitoring monitoring, GetKnownEndpointsApi getKnownEndpointsApi, IDocumentStore documentStore)
 {
     this.documentStore         = documentStore;
     this.getKnownEndpointsApi  = getKnownEndpointsApi;
     endpointInstanceMonitoring = monitoring;
 }