<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetHttpResponseRegex_0
sealed class <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetHttpResponseRegex_0 : Regex
using System.CodeDom.Compiler;
using System.Collections;
using System.Runtime.CompilerServices;
namespace System.Text.RegularExpressions.Generated
{
[GeneratedCode("System.Text.RegularExpressions.Generator", "8.0.12.16413")]
internal sealed class <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetHttpResponseRegex_0 : Regex
{
private sealed class RunnerFactory : RegexRunnerFactory
{
private sealed class Runner : RegexRunner
{
protected override void Scan(ReadOnlySpan<char> inputSpan)
{
while (TryFindNextPossibleStartingPosition(inputSpan) && !TryMatchAtCurrentPosition(inputSpan) && runtextpos != inputSpan.Length) {
runtextpos++;
if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout)
CheckTimeout();
}
}
private bool TryFindNextPossibleStartingPosition(ReadOnlySpan<char> inputSpan)
{
int runtextpos = base.runtextpos;
if (runtextpos <= inputSpan.Length - 14) {
int num = inputSpan.Slice(runtextpos).IndexOf("HTTP/");
if (num >= 0) {
base.runtextpos = runtextpos + num;
return true;
}
}
base.runtextpos = inputSpan.Length;
return false;
}
private bool TryMatchAtCurrentPosition(ReadOnlySpan<char> inputSpan)
{
int runtextpos = base.runtextpos;
int start = runtextpos;
int num = 0;
int num2 = 0;
int num3 = 0;
int num4 = 0;
int num5 = 0;
int num6 = 0;
ReadOnlySpan<char> span = inputSpan.Slice(runtextpos);
if (!span.StartsWith("HTTP/")) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos += 5;
span = inputSpan.Slice(runtextpos);
num = runtextpos;
if ((uint)span.Length < 3 || !char.IsDigit(span[0]) || span[1] != '.' || !char.IsDigit(span[2])) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos += 3;
span = inputSpan.Slice(runtextpos);
Capture(1, num, runtextpos);
if (span.IsEmpty || span[0] != ' ') {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos++;
span = inputSpan.Slice(runtextpos);
num2 = runtextpos;
if ((uint)span.Length < 3 || !char.IsDigit(span[0]) || !char.IsDigit(span[1]) || !char.IsDigit(span[2])) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos += 3;
span = inputSpan.Slice(runtextpos);
Capture(2, num2, runtextpos);
if (span.IsEmpty || span[0] != ' ') {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos++;
span = inputSpan.Slice(runtextpos);
num3 = runtextpos;
num5 = runtextpos;
int num7 = span.IndexOf('\n');
if (num7 < 0)
num7 = span.Length;
if (num7 == 0) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
span = span.Slice(num7);
runtextpos += num7;
num6 = runtextpos;
num5++;
while (true) {
num4 = Crawlpos();
Capture(3, num3, runtextpos);
if (runtextpos >= inputSpan.Length - 1 && ((uint)runtextpos >= (uint)inputSpan.Length || inputSpan[runtextpos] == '\n'))
break;
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(num4);
if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout)
CheckTimeout();
if (num5 >= num6) {
<TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0);
return false;
}
runtextpos = --num6;
span = inputSpan.Slice(runtextpos);
}
base.runtextpos = runtextpos;
Capture(0, start, runtextpos);
return true;
}
}
[NullableContext(1)]
protected override RegexRunner CreateInstance()
{
return new Runner();
}
}
[Nullable(1)]
internal static readonly <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetHttpResponseRegex_0 Instance = new <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetHttpResponseRegex_0();
private <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetHttpResponseRegex_0()
{
pattern = "HTTP/(?<version>\\d[.]\\d) (?<statusCode>\\d{3}) (?<reasonPhrase>.+)$";
roptions = RegexOptions.None;
Regex.ValidateMatchTimeout(<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout);
internalMatchTimeout = <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout;
factory = new RunnerFactory();
base.CapNames = new Hashtable {
{
"0",
0
},
{
"reasonPhrase",
3
},
{
"statusCode",
2
},
{
"version",
1
}
};
capslist = new string[4] {
"0",
"version",
"statusCode",
"reasonPhrase"
};
capsize = 4;
}
}
}