static void Push(string text) { if (String.IsNullOrWhiteSpace(text)) { return; } var lines = text.Trim().Split('\n'); SSECore.Queue.AddRange(lines); if (text.Contains("data:")) { SSECore.ProcessLines(); } }
public static void OpenSSEStream(string url) { /* * Optionally ignore certificate errors * ServicePointManager.ServerCertificateValidationCallback = * new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); */ // https://api.spark.io/v1/devices/DEVICE_ID/events/?access_token=ACCESS_TOKEN var request = WebRequest.Create(new Uri(url)); ((HttpWebRequest)request).AllowReadStreamBuffering = false; var response = request.GetResponse(); var encoding = ASCIIEncoding.ASCII; var stream = response.GetResponseStream(); SSECore.ReadStreamForever(stream, encoding); }