13 {
14 parsedValue = null;
16 {
17 return base.SupportsMultipleValues;
18 }
19 bool separatorFound = false;
20 int nextNonEmptyOrWhitespaceIndex = HeaderUtilities.GetNextNonEmptyOrWhitespaceIndex(
value,
index, base.SupportsMultipleValues, out separatorFound);
21 if (separatorFound && !base.SupportsMultipleValues)
22 {
23 return false;
24 }
25 if (nextNonEmptyOrWhitespaceIndex ==
value.Length)
26 {
27 if (base.SupportsMultipleValues)
28 {
29 index = nextNonEmptyOrWhitespaceIndex;
30 }
31 return base.SupportsMultipleValues;
32 }
33 object parsedValue2;
35 if (parsedValueLength == 0)
36 {
37 return false;
38 }
39 nextNonEmptyOrWhitespaceIndex += parsedValueLength;
40 nextNonEmptyOrWhitespaceIndex = HeaderUtilities.GetNextNonEmptyOrWhitespaceIndex(
value, nextNonEmptyOrWhitespaceIndex, base.SupportsMultipleValues, out separatorFound);
41 if ((separatorFound && !base.SupportsMultipleValues) || (!separatorFound && nextNonEmptyOrWhitespaceIndex <
value.Length))
42 {
43 return false;
44 }
45 index = nextNonEmptyOrWhitespaceIndex;
46 parsedValue = parsedValue2;
47 return true;
48 }