예제 #1
0
        public static void CopyEntries(this HttpHeaderEntries to, HttpHeaderEntries from)
        {
            if (to == null)
            {
                throw new ArgumentNullException(nameof(to));
            }
            if (from == null)
            {
                throw new ArgumentNullException(nameof(from));
            }

            foreach (var key in from.Keys)
            {
                var values = from.Get(key, false);
                for (int i = 0; i < values.Count; i++)
                {
                    string value = values[i];
                    to.Add(key, value);
                }
            }
        }
예제 #2
0
        public static string GeneratePlainHeader(
            this HttpHeaderEntries entries,
            string startLine)
        {
            var headerBuilder = new StringBuilder();

            headerBuilder.Append(startLine);
            headerBuilder.Append(SpecialChars.CRNL);

            foreach (var key in entries.Keys)
            {
                foreach (var value in entries.Get(key, false))
                {
                    headerBuilder.Append(String.Format("{0}: {1}", key, value));
                    headerBuilder.Append(SpecialChars.CRNL);
                }
            }

            headerBuilder.Append(SpecialChars.CRNL);

            return(headerBuilder.ToString());
        }
예제 #3
0
 public IReadOnlyList <string> Get(StringCI key, bool getAsCopy)
 => _entries.Get(key, getAsCopy);