Exemplo n.º 1
0
        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;
 }