public ActionResult Proxy([FromBody] ProxyViewModel model) { var urlToProcess = UrlHelpers.ConvertToAbsoluteUrl(model.Url); Logger.Debug() .Message("Proxying custom action url: {url}", urlToProcess) .Write(); var parts = urlToProcess.Split("?".ToCharArray(), 2); var request = WebRequest.Create(parts[0]); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; var postBytes = new ASCIIEncoding().GetBytes(parts[1]); request.ContentLength = postBytes.Length; using (var postStream = request.GetRequestStream()) { postStream.Write(postBytes, 0, postBytes.Length); postStream.Flush(); postStream.Close(); } try { var result = string.Empty; var response = request.GetResponse().GetResponseStream(); if (response != null) { result = new StreamReader(response).ReadToEnd(); } if (model.Level >= PermissionLevel.Modify) { CreateLogs(model.ActionCode, model.Ids, model.ParentEntityId); } return(Content(result)); } catch (Exception ex) { return(JsonMessageResult(MessageResult.Error(ex.Message))); } }