internal async static void DoRestGet(String url, OnResponseDelegate callback) { OrtcPresenceException cbError = null; String cbSuccess = null; try { HttpClientHandler aHandler = new HttpClientHandler(); aHandler.ClientCertificateOptions = ClientCertificateOption.Automatic; HttpClient aClient = new HttpClient(aHandler); Uri requestUri = new Uri(url); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri); var result = await aClient.GetAsync(requestUri, HttpCompletionOption.ResponseContentRead); var responseHeader = result.Headers; var responseBody = await result.Content.ReadAsStringAsync(); if (result.IsSuccessStatusCode) { cbSuccess = responseBody; } else { cbError = new OrtcPresenceException(responseBody); } } catch (Exception e) { cbError = new OrtcPresenceException(e.Message); } callback(cbError, cbSuccess); }
void OnDisablePressence(OrtcPresenceException e, string arg) { if (e != null) { Error(e.Message); } else { Success("Presence disabled " + arg); HasPresence = false; } IsBusy = false; }
void OnPressence(OrtcPresenceException e, Presence arg) { if (e != null) { Error(e.Message); } else { Success("Got Presence ! " + arg.Subscriptions + " Clients"); foreach (var a in arg.Metadata) { Write("Client : " + a.Key); } } IsBusy = false; }