Example #1
0
        public void RefreshToken()
        {
            if (!(string.IsNullOrEmpty(this.SocketData.RefreshToken)))
            {
                Uri RefreshTokenUrl = new Uri(Properties.Settings.Default.RefreshTokenUrl);

                try
                {
                    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(RefreshTokenUrl);
                    request.Method = "GET";
                    request.Headers["Authorization"] = "Bearer " + this.SocketData.RefreshToken;
                    request.Headers["System"]        = Assembly.GetCallingAssembly().GetName().Name;
                    String data = String.Empty;

                    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    {
                        Stream       dataStream = response.GetResponseStream();
                        StreamReader reader     = new StreamReader(dataStream);
                        data = reader.ReadToEnd();
                        reader.Close();
                        dataStream.Close();

                        var monitorData = new JavaScriptSerializer().Deserialize <MonitorDetailsResult>(data);
                        this.LoginErrorDescription = monitorData.Status;
                        SocketData        = monitorData.Data.Socket;
                        this.IdentityCode = SocketData.Token;


                        if (SocketData.URLList != null && SocketData.URLList.Count != 0 && (monitorURIList.Count == 0))
                        {
                            monitorURIList = SocketData.URLList.Select(xa => new Uri(xa)).ToList();
                        }
                        RealtimeListener.RefreshToken(IdentityCode, monitorURIList);

                        if (!string.IsNullOrEmpty(SocketData.RefreshToken))
                        {
                            _InitRefreshToken();
                        }
                    }
                }
                catch (WebException e)
                {
                    VoicenterRealtimeLogger logger = new VoicenterRealtimeLogger();
                    logger.ex      = e;
                    logger.message = $"Error on refreshToken";
                    logger.level   = LogLevel.Fatal;
                    Logger.log(this, logger);

                    if (e.Status == WebExceptionStatus.ProtocolError)
                    {
                        HttpWebResponse response = (HttpWebResponse)e.Response;
                        throw new Exception(LoginError.WrongLoginDetails.ToString());
                    }
                    throw e;
                }
            }
        }
Example #2
0
        public VoicenterRealtimeListener Init()
        {
            if ((monitorURIList.Count > 0) && (!string.IsNullOrEmpty(this.IdentityCode)))
            {
                return(this._Init());
            }
            try
            {
                using (WebClient client = new WebClient())
                {
                    client.Headers["System"] = Assembly.GetCallingAssembly().GetName().Name;
                    client.Headers[HttpRequestHeader.ContentType] = "application/json";
                    byte[] response    = client.UploadData(this.Url, Encoding.UTF8.GetBytes(this.request));
                    var    monitorData = new JavaScriptSerializer().Deserialize <MonitorDetailsResult>(Encoding.UTF8.GetString(response));
                    this.LoginErrorDescription = monitorData.Status;
                    SocketData        = monitorData.Data.Socket;
                    this.IdentityCode = SocketData.Token;



                    if (SocketData.URLList != null && SocketData.URLList.Count != 0 && (monitorURIList.Count == 0))
                    {
                        monitorURIList = SocketData.URLList.Select(xa => new Uri(xa)).ToList();
                    }
                    return(this._Init());
                }
            }
            catch (WebException e)
            {
                VoicenterRealtimeLogger logger = new VoicenterRealtimeLogger();
                logger.ex      = e;
                logger.message = $"Error on login";
                logger.level   = LogLevel.Fatal;
                Logger.log(this, logger);


                if (e.Status == WebExceptionStatus.ProtocolError)
                {
                    HttpWebResponse response = (HttpWebResponse)e.Response;
                    throw new Exception(LoginError.WrongLoginDetails.ToString());
                }
                throw e;
            }
        }
 public static void OnLogHandler(object sender, VoicenterRealtimeLogger e)
 {
     Console.WriteLine(e.message);
 }