/* * send request to Hydra server and receive the respond using string which represent function name and its arguments * */ public string callServer(string request) { string result = ""; try { httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr); httpWebRequest.KeepAlive = false; httpWebRequest.Timeout = System.Threading.Timeout.Infinite; httpWebRequest.ProtocolVersion = HttpVersion.Version10; httpWebRequest.Method = "POST"; addCookie(); httpWebRequest.Headers.Add("session_id", user.sessonid); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(request); streamWriter.Flush(); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); if (cookies == null && string.IsNullOrEmpty(user.sessonid)) { this.getCokkie(httpResponse); } using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { result = streamReader.ReadToEnd(); } } catch (System.Net.WebException ex) { string errormessage = ""; try { using (var streamReader = new StreamReader(ex.Response.GetResponseStream())) { errormessage = streamReader.ReadToEnd(); MessagesWriter.writeErrorMessage(ex.Message + "\nDetailed server response: " + errormessage, "", ""); } } catch (System.NullReferenceException ex2) { MessagesWriter.writeErrorMessage("No connection can be established "); } } catch (System.NullReferenceException ex) { MessagesWriter.writeErrorMessage(ex.Message, "", ""); } catch (Exception ex) { MessagesWriter.writeErrorMessage(ex.Message, "", ""); } return(result); }