private HttpResponseMessage SensorStream(IOnAlertStreamAvailable onAlertStreamAvailable, string teamName) { var mediaType = "text/event-stream"; var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new PushStreamContent((stream, content, context) => { var client = new TeamEventClient(teamName, stream); onAlertStreamAvailable.Execute(client); }, mediaType) }; response.Content.Headers.ContentType = new MediaTypeHeaderValue(mediaType); return(response); }
public void Execute(TeamEventClient client) { _alertStreamService.TryAddClient(client); }
public void Execute(TeamEventClient client) { var cachedItems = _alertStreamService.GetCachedEvents(_teamName, _start.ToUniversalTime()); client.SendCachedData(cachedItems).ContinueWith(x => { _alertStreamService.TryAddClient(client); }); }