54 {
56 bool flag = false;
57 bool flag2 = false;
58 bool flag3 = false;
59 bool flag4 = false;
60 bool flag5 = false;
61 bool flag6 = false;
62 bool flag7 = false;
63 bool flag8 = false;
64 bool flag9 = false;
65 do
66 {
67 CookieToken cookieToken =
_tokenizer.Next(cookie ==
null, parseResponseCookies: true);
68 if (cookie == null && (cookieToken == CookieToken.NameValuePair || cookieToken == CookieToken.Attribute))
69 {
73 continue;
74 }
75 switch (cookieToken)
76 {
77 case CookieToken.NameValuePair:
79 {
80 case CookieToken.Comment:
81 if (!flag)
82 {
83 flag = true;
85 }
86 break;
87 case CookieToken.CommentUrl:
88 if (!flag2)
89 {
90 flag2 = true;
92 {
93 cookie.CommentUri = result3;
94 }
95 }
96 break;
97 case CookieToken.Domain:
98 if (!flag3)
99 {
100 flag3 = true;
103 }
104 break;
105 case CookieToken.Expires:
106 if (!flag4)
107 {
108 flag4 = true;
110 {
111 cookie.Expires = result4;
112 }
113 else
114 {
116 }
117 }
118 break;
119 case CookieToken.MaxAge:
120 if (!flag4)
121 {
122 flag4 = true;
124 {
125 cookie.Expires =
DateTime.Now.AddSeconds(result2);
126 }
127 else
128 {
130 }
131 }
132 break;
133 case CookieToken.Path:
134 if (!flag5)
135 {
136 flag5 = true;
138 }
139 break;
140 case CookieToken.Port:
141 if (!flag6)
142 {
143 flag6 = true;
144 try
145 {
147 }
148 catch
149 {
151 }
152 }
153 break;
154 case CookieToken.Version:
155 if (!flag7)
156 {
157 flag7 = true;
159 {
160 cookie.Version = result;
162 }
163 else
164 {
166 }
167 }
168 break;
169 }
170 break;
171 case CookieToken.Attribute:
173 {
174 case CookieToken.Discard:
175 if (!flag9)
176 {
177 flag9 = true;
178 cookie.Discard = true;
179 }
180 break;
181 case CookieToken.Secure:
182 if (!flag8)
183 {
184 flag8 = true;
185 cookie.Secure = true;
186 }
187 break;
188 case CookieToken.HttpOnly:
189 cookie.HttpOnly = true;
190 break;
191 case CookieToken.Port:
192 if (!flag6)
193 {
194 flag6 = true;
195 cookie.Port = string.Empty;
196 }
197 break;
198 }
199 break;
200 }
201 }
203 return cookie;
204 }
static CultureInfo InvariantCulture
System.Net.CookieTokenizer _tokenizer
static FieldInfo IsQuotedDomainField
static string CheckQuoted(string value)
static FieldInfo IsQuotedVersionField
static Func< Cookie, string, bool > InternalSetNameMethod