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; } } }
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); }