public void Request() { var dataString = string.Empty; var apiUrl = $"{this.URL}/{this.Actions}"; HttpWebRequest request = null; if (this.HttpMethod == HttpMethod.GET) { dataString = JsonTools.DictionaryToQuery(this.Parameters); request = (HttpWebRequest)WebRequest.Create($"{apiUrl}?{dataString}"); request.Method = this.HttpMethod.GetString(); } else { dataString = JsonTools.DictionaryToJson(this.Parameters); request = (HttpWebRequest)WebRequest.Create(apiUrl); request.Method = this.HttpMethod.GetString(); request.ContentType = "application/json"; request.ContentLength = dataString.Length; using (Stream webStream = request.GetRequestStream()) { using (StreamWriter requestWriter = new StreamWriter(webStream, Encoding.ASCII)) { requestWriter.Write(dataString); } } } if (request == null) { return; } try { WebResponse webResponse = request.GetResponse(); using (Stream webStream = webResponse.GetResponseStream()) { if (webStream != null) { using (StreamReader responseReader = new StreamReader(webStream)) { this.Response = responseReader.ReadToEnd().JsonGetDictionary(); } } } } catch (Exception ex) { TfDebug.WriteLog( ex, $"URL: {apiUrl}", $"Method: {this.HttpMethod.GetString()}", $"Paremeters: {dataString}"); this.Response = new Dictionary <string, string>() { { "Error", ex.Message } }; } }