private async void StartStreaming()
{
string url = string.Format("{0}streaming.campfirenow.com/room/{1}/live.json", Scheme, _roomId);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.Accept = "application/json";
request.Headers[HttpRequestHeader.Authorization] = string.Format("Basic {0}", EncodedAuthToken);
HttpWebResponse response = null;
try
{
response = (HttpWebResponse) request.GetResponse();
}
catch (WebException ex)
{
response = (HttpWebResponse)ex.Response;
}
LogHttpWebResponse("Streaming", response);
if (response.StatusCode == HttpStatusCode.OK)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
while (true)
{
string line = await reader.ReadLineAsync();
ChatMessageDTO chatMessage = await ParseChatMessage(line);
if (chatMessage != null)
{
//Ensure we have the details for this user
GetUserInfo(chatMessage.user_id);
DataEmitted(FormatUserChatMessage(chatMessage));
}
}
}
}