public static T GetXmlRequest <T>(string endpoint, CredentialManager cm)
        {
            try
            {
                string requestUrl = cm.RootURL;
                if (endpoint.StartsWith("/"))
                {
                    requestUrl += endpoint;
                }
                else
                {
                    requestUrl += "/" + endpoint;
                }
                WebRequest apiRequest = WebRequest.Create(requestUrl);
                string     encoded    = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(cm.Username + ":" + cm.Password));
                apiRequest.Headers.Add("Authorization", "Basic " + encoded);
                HttpWebResponse apiResponse = (HttpWebResponse)apiRequest.GetResponse();

                if (apiResponse.StatusCode == HttpStatusCode.OK)
                {
                    string xmlOutput;
                    using (StreamReader sr = new StreamReader(apiResponse.GetResponseStream()))
                        xmlOutput = sr.ReadToEnd();

                    XmlSerializer xmlSerialize = new XmlSerializer(typeof(T));

                    var xmlResult = (T)xmlSerialize.Deserialize(new StringReader(xmlOutput));

                    if (xmlResult != null)
                    {
                        return(xmlResult);
                    }
                    else
                    {
                        return(default(T));
                    }
                }
                else
                {
                    return(default(T));
                }
            }
            catch (Exception ex)
            {
                cm.LogMessage("Error Occurred while requesting XML Data: " + ex.Message.ToString());
                return(default(T));
            }
        }
示例#2
0
 public void Refresh(ref int eventId)
 {
     eventNum = eventId;
     eventLog.WriteEntry($"Refreshing Config Parameters.", EventLogEntryType.Information, ++eventNum);
     cm = new CredentialManager();
     eventLog.WriteEntry($"Refreshing API Data.", EventLogEntryType.Information, ++eventNum);
     if (apiData != null)
     {
         int tempLog = eventNum;
         apiData.Refresh(cm, eventLog, ref tempLog);
         eventNum = tempLog;
     }
     else
     {
         apiData = new APIData(cm);
     }
     eventLog.WriteEntry($"Environment: {cm.Env}\nRoot URL: {cm.RootURL}\nUsername: {cm.Username}\nPassword: {cm.Password.Substring(0, cm.Password.Length / 5)}\nExcel File: {cm.ExcelFile}", EventLogEntryType.Information, ++eventNum);
     eventId = eventNum;
 }
        public static T GetJsonRequest <T>(string requestUrl, string username, string password, CredentialManager cm)
        {
            try
            {
                WebRequest apiRequest = WebRequest.Create(requestUrl);
                string     encoded    = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
                apiRequest.Headers.Add("Authorization", "Basic " + encoded);
                HttpWebResponse apiResponse = (HttpWebResponse)apiRequest.GetResponse();

                if (apiResponse.StatusCode == HttpStatusCode.OK)
                {
                    string jsonOutput;
                    using (StreamReader sr = new StreamReader(apiResponse.GetResponseStream()))
                        jsonOutput = sr.ReadToEnd();

                    var jsResult = JsonConvert.DeserializeObject <T>(jsonOutput);

                    if (jsResult != null)
                    {
                        return(jsResult);
                    }
                    else
                    {
                        return(default(T));
                    }
                }
                else
                {
                    return(default(T));
                }
            }
            catch (Exception ex)
            {
                cm.LogMessage("Error Occurred while requesting JSON Data: " + ex.Message.ToString());
                return(default(T));
            }
        }