projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #1952 from esdrubal/proc_name
[mono.git]
/
mcs
/
class
/
System.Net.Http
/
System.Net.Http.Headers
/
HttpHeaders.cs
diff --git
a/mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders.cs
b/mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders.cs
index 9a7248582a1a0ff88cb46cc9df3410785acc4551..05b5fe62681f3f981b067777d1cb7a7f9f32a03b 100644
(file)
--- a/
mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders.cs
+++ b/
mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders.cs
@@
-343,29
+343,40
@@
namespace System.Net.Http.Headers
return true;
}
return true;
}
-
public override string ToString (
)
+
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 ();
var sb = new StringBuilder ();
- foreach (var entry in this) {
- sb.Append (entry.Key);
- sb.Append (": ");
+ bool first = true;
+ foreach (var v in values) {
+ if (!first) {
+ sb.Append (separator);
+ if (separator != " ")
+ sb.Append (" ");
+ }
- string separator = ",";
- HeaderInfo headerInfo;
- if (known_headers.TryGetValue (entry.Key, out headerInfo) && headerInfo.AllowsMany)
- separator = headerInfo.Separator;
+ sb.Append (v);
+ first = false;
+ }
- bool first = true;
- foreach (var v in entry.Value) {
- if (!first) {
- sb.Append (separator);
- sb.Append (" ");
- }
+ // Return null for empty values list
+ if (first)
+ return null;
- sb.Append (v);
- first = false;
- }
+ return sb.ToString ();
+ }
+ public override string ToString ()
+ {
+ var sb = new StringBuilder ();
+ foreach (var entry in this) {
+ sb.Append (entry.Key);
+ sb.Append (": ");
+ sb.Append (GetSingleHeaderString (entry.Key, entry.Value));
sb.Append ("\r\n");
}
sb.Append ("\r\n");
}
@@
-489,7
+500,7
@@
namespace System.Net.Http.Headers
return (HttpHeaderValueCollection<T>) value.Parsed;
}
return (HttpHeaderValueCollection<T>) value.Parsed;
}
- void SetValue<T> (string name, T value, Func<object, string> toStringConverter = null)
+
internal
void SetValue<T> (string name, T value, Func<object, string> toStringConverter = null)
{
headers[name] = new HeaderBucket (value, toStringConverter);
}
{
headers[name] = new HeaderBucket (value, toStringConverter);
}