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

◆ GetContentRangeLength()

static int System.Net.Http.Headers.ContentRangeHeaderValue.GetContentRangeLength ( string input,
int startIndex,
out object parsedValue )
inlinestaticpackage

Definition at line 168 of file ContentRangeHeaderValue.cs.

169 {
170 parsedValue = null;
171 if (string.IsNullOrEmpty(input) || startIndex >= input.Length)
172 {
173 return 0;
174 }
175 int tokenLength = HttpRuleParser.GetTokenLength(input, startIndex);
176 if (tokenLength == 0)
177 {
178 return 0;
179 }
180 string unit = input.Substring(startIndex, tokenLength);
181 int num = startIndex + tokenLength;
182 int whitespaceLength = HttpRuleParser.GetWhitespaceLength(input, num);
183 if (whitespaceLength == 0)
184 {
185 return 0;
186 }
187 num += whitespaceLength;
188 if (num == input.Length)
189 {
190 return 0;
191 }
192 int fromStartIndex = num;
193 int fromLength = 0;
194 int toStartIndex = 0;
195 int toLength = 0;
196 if (!TryGetRangeLength(input, ref num, out fromLength, out toStartIndex, out toLength))
197 {
198 return 0;
199 }
200 if (num == input.Length || input[num] != '/')
201 {
202 return 0;
203 }
204 num++;
205 num += HttpRuleParser.GetWhitespaceLength(input, num);
206 if (num == input.Length)
207 {
208 return 0;
209 }
210 int lengthStartIndex = num;
211 int lengthLength = 0;
212 if (!TryGetLengthLength(input, ref num, out lengthLength))
213 {
214 return 0;
215 }
216 if (!TryCreateContentRange(input, unit, fromStartIndex, fromLength, toStartIndex, toLength, lengthStartIndex, lengthLength, out parsedValue))
217 {
218 return 0;
219 }
220 return num - startIndex;
221 }
static bool TryGetRangeLength(string input, ref int current, out int fromLength, out int toStartIndex, out int toLength)
static bool TryGetLengthLength(string input, ref int current, out int lengthLength)
static bool TryCreateContentRange(string input, string unit, int fromStartIndex, int fromLength, int toStartIndex, int toLength, int lengthStartIndex, int lengthLength, [NotNullWhen(true)] out object parsedValue)

References System.Net.Http.HttpRuleParser.GetTokenLength(), System.Net.Http.HttpRuleParser.GetWhitespaceLength(), System.input, System.startIndex, System.Net.Http.Headers.ContentRangeHeaderValue.TryCreateContentRange(), System.Net.Http.Headers.ContentRangeHeaderValue.TryGetLengthLength(), and System.Net.Http.Headers.ContentRangeHeaderValue.TryGetRangeLength().