示例#1
0
        private void SetHeaders(HttpWebRequest webRequest)
        {
            xmlNodeList HeadersList = SourceElement.SelectNodes("HeadersList");

            foreach (xmlElement Header in HeadersList)
            {
                string HeaderName  = Header.GetAttribute("Name");
                string HeaderValue = TargetObject.XQuery(Header.GetAttribute("Value"));
                webRequest.Headers.Add(HeaderName, HeaderValue);
            }
        }
示例#2
0
        /// <summary>
        /// Записывает данные запроса с тыпом Text
        /// </summary>
        /// <param name="writingStream">Поток для записи данных</param>
        private void WriteTextParams(MultipartFormDataContent multipartFormDataContent)
        {
            using xmlNodeList textList = template.SelectNodes("FormDatas[@Type='Text']");
            foreach (xmlElement textParam in textList)
            {
                string textKey     = GetParamKey(textParam);
                string textXQValue = sourceObject.XQuery(GetParamValue(textParam));

                multipartFormDataContent.Add(new StringContent(textXQValue), textKey);
            }
        }
示例#3
0
        public void SetHeaders()
        {
            xmlNodeList HeadersList = TemplateElement.SelectNodes("HeadersList");

            foreach (xmlElement Header in HeadersList)
            {
                string HeaderName  = Header.GetAttribute("Name");
                string HeaderXq    = Header.GetAttribute("Value");
                string HeaderValue = SourceXmlDocument.Root.XQuery(HeaderXq);
                httpClient.DefaultRequestHeaders.Add(HeaderName, HeaderValue);
            }
        }
示例#4
0
        /// <summary>
        /// Записывает данные запроса с тыпом File
        /// </summary>
        /// <param name="writingStream">Поток для записи данных</param>
        private void WriteFileParams(MultipartFormDataContent multipartFormDataContent)
        {
            using xmlNodeList fileList = template.SelectNodes("FormDatas[@Type='File']");
            foreach (xmlElement fileParam in fileList)
            {
                string fileKey     = GetParamKey(fileParam);
                string fileXQValue = sourceObject.XQuery(GetParamValue(fileParam));

                if (string.IsNullOrEmpty(fileXQValue))
                {
                    continue;
                }

                SetFiles(fileXQValue, fileKey, multipartFormDataContent);
            }
        }
        /// <summary>
        /// Записывает данные запроса с тыпом Text
        /// </summary>
        /// <param name="writingStream">Поток для записи данных в байты</param>
        void WriteTextParams(Stream writingStream)
        {
            string textHeaderTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{2}";

            using (xmlNodeList textList = template.SelectNodes("FormDatas[@Type='Text']"))
            {
                foreach (xmlElement textParam in textList)
                {
                    string textKey   = GetParamKey(textParam);
                    string textValue = GetParamValue(textParam);

                    writingStream.Write(boundarybytes, 0, boundarybytes.Length);

                    byte[] textPartbytes = Encoding.UTF8.GetBytes(string.Format(textHeaderTemplate, textKey, textValue));
                    writingStream.Write(textPartbytes, 0, textPartbytes.Length);
                }
            }
        }
        /// <summary>
        /// Записывает данные запроса с тыпом File
        /// </summary>
        /// <param name="writingStream">Поток для записи данных в байты</param>
        void WriteFileParams(Stream writingStream)
        {
            string fileHeaderTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n";

            using (xmlNodeList fileList = template.SelectNodes("FormDatas[@Type='File' or @Type='FileLibrary']"))
            {
                foreach (xmlElement fileParam in fileList)
                {
                    string fileKey   = GetParamKey(fileParam);
                    string fileValue = GetParamValue(fileParam);

                    if (string.IsNullOrEmpty(fileValue))
                    {
                        continue;
                    }

                    xmlDocument fileListDoc = new xmlDocument(fileValue);
                    foreach (xmlElement node in fileListDoc.Root.ChildElements)
                    {
                        try
                        {
                            string filePath = GetFilePath(node);
                            string fileName = filePath.Split('\\')[filePath.Split('\\').Length - 1];

                            writingStream.Write(boundarybytes, 0, boundarybytes.Length);
                            byte[] fileHeaderbytes = Encoding.UTF8.GetBytes(string.Format(fileHeaderTemplate, fileName, fileName, "application/octet-stream"));
                            writingStream.Write(fileHeaderbytes, 0, fileHeaderbytes.Length);

                            writingStream.Write(fileBytes, 0, fileBytes.Length);
                        }
                        catch (Exception e)
                        {
                            Messages.showException(e);
                        }
                    }
                }
            }
        }