+ internal static string GetSingleHeaderString (string key, IEnumerable<string> values)
+ {
+ string separator = ",";
+ HeaderInfo headerInfo;
+ if (known_headers.TryGetValue (key, out headerInfo) && headerInfo.AllowsMany)
+ separator = headerInfo.Separator;
+
+ var sb = new StringBuilder ();
+ bool first = true;
+ foreach (var v in values) {
+ if (!first) {
+ sb.Append (separator);
+ if (separator != " ")
+ sb.Append (" ");
+ }
+
+ sb.Append (v);
+ first = false;
+ }
+
+ // Return null for empty values list
+ if (first)
+ return null;
+
+ return sb.ToString ();
+ }
+