public static Status getStreamStatus(Credentials credentials, string streamId)
{
if (streamId == null)
{
throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG);
}
string urlStr = string.Format("{0}/streams/{1}/status", API_BASE_URL, streamId);
HttpWebResponse response = null;
try
{
Uri url = new Uri(urlStr);
mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url);
string macToken = credentials.signRequest(url, "GET", null, null);
mOkHttpClient.Method = WebRequestMethods.Http.Get;
mOkHttpClient.UserAgent = Utils.UserAgent;
mOkHttpClient.Headers.Add("Authorization", macToken);
response = (HttpWebResponse)mOkHttpClient.GetResponse();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
Console.Write(e.StackTrace);
throw new PiliException(e);
}
// response never be null
if ((int)response.StatusCode == 200)
{
try
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string text = reader.ReadToEnd();
JObject jsonObj = JObject.Parse(text);
return new Status(jsonObj);
}
catch (IOException e)
{
Console.WriteLine(e.ToString());
Console.Write(e.StackTrace);
throw new PiliException(e);
}
}
else
{
throw new PiliException(response);
}
}