コード例 #1
0
        public override string [][] GetUnknownRequestHeaders()
        {
            if (unknownHeaders != null)
            {
                return(unknownHeaders);
            }

                        #if NET_2_0
            IDictionary <string, string> pairs =
                responder.GetParameters();
                        #else
            IDictionary pairs = responder.GetParameters();
                        #endif
            knownHeaders = new string [RequestHeaderMaximum];
            string [][] headers = new string [pairs.Count][];
            int         count   = 0;

            foreach (string key in pairs.Keys)
            {
                if (!key.StartsWith("HTTP_"))
                {
                    continue;
                }

                string name  = ReformatHttpHeader(key);
                string value = (string)pairs [key];
                int    id    = GetKnownRequestHeaderIndex(name);

                if (id >= 0)
                {
                    knownHeaders [id] = value;
                    continue;
                }

                headers [count++] = new string [] { name, value };
            }

            unknownHeaders = new string [count][];
            System.Array.Copy(headers, 0, unknownHeaders, 0, count);

            return(unknownHeaders);
        }