OpenTokApi.Core.OpenTok.CreateSessionId C# (CSharp) Method

CreateSessionId() private method

private CreateSessionId ( string uri, object>.Dictionary dict ) : XmlDocument
uri string
dict object>.Dictionary
return System.Xml.XmlDocument
        private XmlDocument CreateSessionId(string uri, Dictionary<string, object> dict)
        {
            var xmlDoc = new XmlDocument();

            var postData = HttpUtility.ParseQueryString(string.Empty);

            foreach (var pair in dict)
                postData.Add(CleanupKey(pair.Key), pair.Value.ToString());

            byte[] postBytes = Encoding.UTF8.GetBytes(postData.ToString());

            var request = (HttpWebRequest)WebRequest.Create(uri);
            request.KeepAlive = false;
            request.ProtocolVersion = HttpVersion.Version10;
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = postBytes.Length;
            request.Headers.Add("X-TB-PARTNER-AUTH", string.Format("{0}:{1}", ApiKey, Secret));

            var requestStream = request.GetRequestStream();

            requestStream.Write(postBytes, 0, postBytes.Length);
            requestStream.Close();

            using (var response = (HttpWebResponse)request.GetResponse())
                if (response.StatusCode == HttpStatusCode.OK)
                    using (var reader = XmlReader.Create(response.GetResponseStream(), new XmlReaderSettings { CloseInput = true }))
                        xmlDoc.Load(reader);

            return xmlDoc;
        }