internal string ExecuteRequest(HttpWebRequest request, string payload, M2mgoUserToken token, ILogger logger) { request.Accept = "*/*"; request.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => { logger.Information("accept server certificate"); return(true); }; if (request.Method != "GET") { if (payload.IsNullOrEmpty()) { request.ContentLength = 0; } else { var data = Encoding.UTF8.GetBytes(payload); var reqStr = request.GetRequestStream(); reqStr.Write(data, 0, data.Length); request.ContentType = "application/json"; } } if (token != null) { token.AddAuthorizationHeader(request); } logger.Information(request.RequestUri.ToString()); using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse()) { return(ReadDataFrom(resp)); } }
internal string ExecuteRequest(HttpWebRequest request, string payload, M2mgoUserToken token, ILogger logger) { request.Accept = "*/*"; if (request.Method != "GET") { if (payload.IsNullOrEmpty()) { request.ContentLength = 0; } else { var data = Encoding.UTF8.GetBytes(payload); var reqStr = request.GetRequestStream(); reqStr.Write(data, 0, data.Length); request.ContentType = "application/json"; } } if (token != null) { token.AddAuthorizationHeader(request); } logger.Information(request.RequestUri.ToString()); using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse()) { string rawData = String.Empty; if (resp.ContentLength > 0) { using (var s = new StreamReader(resp.GetResponseStream())) { rawData = s.ReadToEnd(); } } if (resp.StatusCode == HttpStatusCode.NotFound) { return(String.Empty); } if (resp.StatusCode != HttpStatusCode.OK) { throw new Exception(resp.StatusCode + ": " + rawData); } return(rawData); } }