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)));
            }
        }