/// <summary> /// The get. /// </summary> /// <param name="webParams"> /// The web parameters. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public string Get(WebRequestDTO webParams, out bool result) { string strResponse; try { var req = (HttpWebRequest)WebRequest.Create(webParams.url); req.Method = "GET"; if (!string.IsNullOrWhiteSpace(webParams.contentType)) { req.ContentType = webParams.contentType; } if (webParams.headers != null && webParams.headers.Any()) { foreach (var header in webParams.headers) { req.Headers.Add(header.name, header.value); } } var res = req.GetResponse(); var inputStream = res.GetResponseStream(); if (inputStream != null) { using (var inputStreamReader = new StreamReader(inputStream)) { strResponse = inputStreamReader.ReadToEnd(); inputStreamReader.Close(); } } else { strResponse = string.Empty; } result = true; } catch (Exception ex) { result = false; strResponse = ex.ToString(); this.logger.Error("Post error: ", ex); } return(strResponse); }
/// <summary> /// The convert to PDF. /// </summary> /// <param name="dto"> /// The DTO. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public string Proxy(WebRequestDTO dto) { var webProxyModel = this.WebProxyModel; bool success; ServicePointManager.Expect100Continue = false; var res = dto.isGetMethod ? webProxyModel.Get(dto, out success) : webProxyModel.Post(dto, out success); if (success) { return(res); } var error = new Error(Errors.CODE_ERRORTYPE_REQUEST_NOT_PROCESSED, "WebError", "Web request failed", res); this.LogError("Social.Proxy", error); throw new FaultException <Error>(error, error.errorMessage); }
/// <summary> /// The post. /// </summary> /// <param name="webParams"> /// The web parameters. /// </param> /// <param name="result"> /// The result. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public string Post(WebRequestDTO webParams, out bool result) { string strResponse = string.Empty; try { var req = (HttpWebRequest)WebRequest.Create(webParams.url); req.KeepAlive = false; req.Method = "POST"; req.ContentType = string.IsNullOrWhiteSpace(webParams.contentType) ? "application/json" : webParams.contentType; req.ContentLength = webParams.data.Length; if (webParams.headers != null && webParams.headers.Any()) { foreach (var header in webParams.headers) { req.Headers.Add(header.name, header.value); } } using (var outStream = new StreamWriter(req.GetRequestStream(), Encoding.ASCII)) { outStream.Write(webParams.data); outStream.Close(); var res = req.GetResponse(); var inputStream = res.GetResponseStream(); if (inputStream != null) { using (var inputStreamReader = new StreamReader(inputStream)) { strResponse = inputStreamReader.ReadToEnd(); inputStreamReader.Close(); } } else { strResponse = string.Empty; } } result = true; } catch (WebException ex) { result = false; try { var inputStream = ex.Response.GetResponseStream(); if (inputStream != null) { using (var inputStreamReader = new StreamReader(inputStream)) { strResponse = inputStreamReader.ReadToEnd(); inputStreamReader.Close(); } } else { strResponse = string.Empty; } this.logger.Error("Post web error: " + strResponse); } catch (Exception ex2) { this.logger.Error("Post web error: ", ex2); } } catch (Exception ex) { result = false; strResponse = ex.ToString(); this.logger.Error("Post error: ", ex); } return(strResponse); }