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

◆ TryExtractBaggage()

static bool System.Diagnostics.LegacyPropagator.TryExtractBaggage ( string baggageString,
out IEnumerable< KeyValuePair< string, string > > baggage )
inlinestaticpackage

Definition at line 76 of file LegacyPropagator.cs.

77 {
78 baggage = null;
80 if (string.IsNullOrEmpty(baggageString))
81 {
82 return true;
83 }
84 int i = 0;
85 while (true)
86 {
87 if (i < baggageString.Length && (baggageString[i] == ' ' || baggageString[i] == '\t'))
88 {
89 i++;
90 continue;
91 }
92 if (i >= baggageString.Length)
93 {
94 break;
95 }
96 int num = i;
97 for (; i < baggageString.Length && baggageString[i] != ' ' && baggageString[i] != '\t' && baggageString[i] != '='; i++)
98 {
99 }
100 if (i >= baggageString.Length)
101 {
102 break;
103 }
104 int num2 = i;
105 if (baggageString[i] != '=')
106 {
107 for (; i < baggageString.Length && (baggageString[i] == ' ' || baggageString[i] == '\t'); i++)
108 {
109 }
110 if (i >= baggageString.Length || baggageString[i] != '=')
111 {
112 break;
113 }
114 }
115 for (i++; i < baggageString.Length && (baggageString[i] == ' ' || baggageString[i] == '\t'); i++)
116 {
117 }
118 if (i >= baggageString.Length)
119 {
120 break;
121 }
122 int num3 = i;
123 for (; i < baggageString.Length && baggageString[i] != ' ' && baggageString[i] != '\t' && baggageString[i] != ',' && baggageString[i] != ';'; i++)
124 {
125 }
126 if (num < num2 && num3 < i)
127 {
128 if (list == null)
129 {
131 }
132 list.Insert(0, new KeyValuePair<string, string>(WebUtility.UrlDecode(baggageString.Substring(num, num2 - num)).Trim(DistributedContextPropagator.s_trimmingSpaceCharacters), WebUtility.UrlDecode(baggageString.Substring(num3, i - num3)).Trim(DistributedContextPropagator.s_trimmingSpaceCharacters)));
133 }
134 for (; i < baggageString.Length && baggageString[i] != ','; i++)
135 {
136 }
137 i++;
138 if (i >= baggageString.Length)
139 {
140 break;
141 }
142 }
143 baggage = list;
144 return list != null;
145 }
static ? string UrlDecode(string? encodedValue)

References System.list, System.Diagnostics.DistributedContextPropagator.s_trimmingSpaceCharacters, and System.Net.WebUtility.UrlDecode().

Referenced by System.Diagnostics.LegacyPropagator.ExtractBaggage().