Refactored CookieCollection.cs

This commit is contained in:
sta 2014-08-14 22:43:09 +09:00
parent c8bd8e9522
commit 11298565a4

View File

@ -219,15 +219,15 @@ namespace WebSocketSharp.Net
var cookies = new CookieCollection ();
Cookie cookie = null;
var version = 0;
var ver = 0;
var pairs = splitCookieHeaderValue (value);
for (int i = 0; i < pairs.Length; i++) {
for (var i = 0; i < pairs.Length; i++) {
var pair = pairs[i].Trim ();
if (pair.Length == 0)
continue;
if (pair.StartsWith ("$version", StringComparison.InvariantCultureIgnoreCase)) {
version = Int32.Parse (pair.GetValue ('=', true));
ver = Int32.Parse (pair.GetValue ('=', true));
}
else if (pair.StartsWith ("$path", StringComparison.InvariantCultureIgnoreCase)) {
if (cookie != null)
@ -265,8 +265,8 @@ namespace WebSocketSharp.Net
}
cookie = new Cookie (name, val);
if (version != 0)
cookie.Version = version;
if (ver != 0)
cookie.Version = ver;
}
}
@ -282,7 +282,7 @@ namespace WebSocketSharp.Net
Cookie cookie = null;
var pairs = splitCookieHeaderValue (value);
for (int i = 0; i < pairs.Length; i++) {
for (var i = 0; i < pairs.Length; i++) {
var pair = pairs[i].Trim ();
if (pair.Length == 0)
continue;
@ -292,13 +292,13 @@ namespace WebSocketSharp.Net
cookie.Version = Int32.Parse (pair.GetValue ('=', true));
}
else if (pair.StartsWith ("expires", StringComparison.InvariantCultureIgnoreCase)) {
var buffer = new StringBuilder (pair.GetValue ('='), 32);
var buff = new StringBuilder (pair.GetValue ('='), 32);
if (i < pairs.Length - 1)
buffer.AppendFormat (", {0}", pairs [++i].Trim ());
buff.AppendFormat (", {0}", pairs[++i].Trim ());
DateTime expires;
if (!DateTime.TryParseExact (
buffer.ToString (),
buff.ToString (),
new[] { "ddd, dd'-'MMM'-'yyyy HH':'mm':'ss 'GMT'", "r" },
CultureInfo.CreateSpecificCulture ("en-US"),
DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal,
@ -384,14 +384,14 @@ namespace WebSocketSharp.Net
var name = cookie.Name;
var path = cookie.Path;
var domain = cookie.Domain;
var version = cookie.Version;
var ver = cookie.Version;
for (int i = _list.Count - 1; i >= 0; i--) {
for (var i = _list.Count - 1; i >= 0; i--) {
var c = _list[i];
if (c.Name.Equals (name, StringComparison.InvariantCultureIgnoreCase) &&
c.Path.Equals (path, StringComparison.InvariantCulture) &&
c.Domain.Equals (domain, StringComparison.InvariantCultureIgnoreCase) &&
c.Version == version)
c.Version == ver)
return i;
}