CSharpAnalytics.Network.BackgroundHttpWebRequester.CreatePostRequest C# (CSharp) Method

CreatePostRequest() private static method

Create a HttpWebRequest using the HTTP POST method.
private static CreatePostRequest ( Uri requestUri, bool writeBody ) : HttpWebRequest
requestUri System.Uri URI to request.
writeBody bool
return System.Net.HttpWebRequest
        private static HttpWebRequest CreatePostRequest(Uri requestUri, bool writeBody)
        {
            var uriWithoutQuery = new Uri(requestUri.GetComponents(UriComponents.SchemeAndServer | UriComponents.Path, UriFormat.Unescaped));
            var postRequest = WebRequest.CreateHttp(uriWithoutQuery);
            postRequest.Method = "POST";

            var bodyWithQuery = requestUri.GetComponents(UriComponents.Query, UriFormat.UriEscaped);
            var bodyBytes = Encoding.UTF8.GetBytes(bodyWithQuery);

            postRequest.ContentLength = bodyBytes.Length;

            if (writeBody)
            {
                var stream = postRequest.GetRequestStream();
                stream.Write(bodyBytes, 0, bodyBytes.Length);
                stream.Close();
            }

            return postRequest;
        }