Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryReadQuality()

static bool System.Net.Http.Headers.StringWithQualityHeaderValue.TryReadQuality ( string input,
out double quality,
ref int index )
inlinestaticprivate

Definition at line 135 of file StringWithQualityHeaderValue.cs.

136 {
137 int num = index;
138 quality = 0.0;
139 if (num == input.Length || (input[num] != 'q' && input[num] != 'Q'))
140 {
141 return false;
142 }
143 num++;
144 num += HttpRuleParser.GetWhitespaceLength(input, num);
145 if (num == input.Length || input[num] != '=')
146 {
147 return false;
148 }
149 num++;
150 num += HttpRuleParser.GetWhitespaceLength(input, num);
151 if (num == input.Length)
152 {
153 return false;
154 }
155 int numberLength = HttpRuleParser.GetNumberLength(input, num, allowDecimal: true);
156 if (numberLength == 0)
157 {
158 return false;
159 }
160 if (!double.TryParse(input.AsSpan(num, numberLength), NumberStyles.AllowDecimalPoint, NumberFormatInfo.InvariantInfo, out quality))
161 {
162 return false;
163 }
164 if (quality < 0.0 || quality > 1.0)
165 {
166 return false;
167 }
168 num += numberLength;
169 num += HttpRuleParser.GetWhitespaceLength(input, num);
170 index = num;
171 return true;
172 }
static bool TryParse([NotNullWhen(true)] string? input, [NotNullWhen(true)] out StringWithQualityHeaderValue? parsedValue)

References System.Net.Http.HttpRuleParser.GetNumberLength(), System.Net.Http.HttpRuleParser.GetWhitespaceLength(), System.index, System.input, System.Globalization.NumberFormatInfo.InvariantInfo, and System.Net.Http.Headers.StringWithQualityHeaderValue.TryParse().

Referenced by System.Net.Http.Headers.StringWithQualityHeaderValue.GetStringWithQualityLength().