XmlRpc_Wrapper.HTTPHeader.HTTPHeaderParse C# (CSharp) Méthode

HTTPHeaderParse() private méthode

private HTTPHeaderParse ( string Header ) : void
Header string
Résultat void
        private void HTTPHeaderParse(string Header)
        {
            #region HTTP HEADER REQUEST & RESPONSE

            HTTPHeaderField HHField;
            string HTTPfield = null;
            int Index;
            string buffer;
            for (int f = (int) HTTPHeaderField.Accept; f < (int) HTTPHeaderField.HEADER_VALUE_MAX_PLUS_ONE; f++)
            {
                HHField = (HTTPHeaderField) f;
                HTTPfield = null;
                if (!HeaderFieldToStrings.TryGetValue(HHField, out HTTPfield) || HTTPField == null)
                {
                    HTTPfield = "\n" + HHField.ToString().Replace('_', '-') + ": ";
                    HeaderFieldToStrings.Add(HHField, HTTPfield);
                }

                // Si le champ n'est pas pr?sent dans la requ?te, on passe au champ suivant
                Index = Header.IndexOf(HTTPfield, StringComparison.OrdinalIgnoreCase);
                if (Index == -1)
                    continue;

                buffer = Header.Substring(Index + HTTPfield.Length);
                Index = buffer.IndexOf("\r\n", StringComparison.OrdinalIgnoreCase);
                if (Index == -1)
                    m_StrHTTPField[HHField] = buffer.Trim();
                else
                    m_StrHTTPField[HHField] = buffer.Substring(0, Index).Trim();

                if (m_StrHTTPField[HHField].Length == 0)
                {
                    XmlRpcUtil.log(XmlRpcUtil.XMLRPC_LOG_LEVEL.WARNING, "HTTP HEADER: field \"{0}\" has a length of 0", HHField.ToString());
                }
                XmlRpcUtil.log(XmlRpcUtil.XMLRPC_LOG_LEVEL.DEBUG, "HTTP HEADER: Index={0} | champ={1} = {2}", f, HTTPfield.Substring(1), m_StrHTTPField[HHField]);
            }

            #endregion
        }