@@ -131,7 +131,9 @@ public void ValidateSpecialCharsBaggageExtraction()
131
131
Assert . Equal ( "key%28%293" , escapedKey ) ;
132
132
Assert . Equal ( "value%28%29%21%26%3B%3A" , escapedValue ) ;
133
133
134
- var initialBaggage = $ "key+1=value+1,{ encodedKey } ={ encodedValue } ,{ escapedKey } ={ escapedValue } ";
134
+ var initialBaggage =
135
+ $ "key%201=value%201,{ encodedKey } ={ encodedValue } ,{ escapedKey } ={ escapedValue } ,key4=%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~";
136
+
135
137
var carrier = new List < KeyValuePair < string , string > >
136
138
{
137
139
new KeyValuePair < string , string > ( BaggagePropagator . BaggageHeaderName , initialBaggage ) ,
@@ -142,11 +144,11 @@ public void ValidateSpecialCharsBaggageExtraction()
142
144
Assert . False ( propagationContext == default ) ;
143
145
Assert . True ( propagationContext . ActivityContext == default ) ;
144
146
145
- Assert . Equal ( 3 , propagationContext . Baggage . Count ) ;
147
+ Assert . Equal ( 4 , propagationContext . Baggage . Count ) ;
146
148
147
149
var actualBaggage = propagationContext . Baggage . GetBaggage ( ) ;
148
150
149
- Assert . Equal ( 3 , actualBaggage . Count ) ;
151
+ Assert . Equal ( 4 , actualBaggage . Count ) ;
150
152
151
153
Assert . True ( actualBaggage . ContainsKey ( "key 1" ) ) ;
152
154
Assert . Equal ( "value 1" , actualBaggage [ "key 1" ] ) ;
@@ -156,6 +158,10 @@ public void ValidateSpecialCharsBaggageExtraction()
156
158
157
159
Assert . True ( actualBaggage . ContainsKey ( "key()3" ) ) ;
158
160
Assert . Equal ( "value()!&;:" , actualBaggage [ "key()3" ] ) ;
161
+
162
+ // x20-x7E range
163
+ Assert . True ( actualBaggage . ContainsKey ( "key4" ) ) ;
164
+ Assert . Equal ( " !\" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\ ]^_`abcdefghijklmnopqrstuvwxyz{|}~" , actualBaggage [ "key4" ] ) ;
159
165
}
160
166
161
167
[ Fact ]
@@ -195,11 +201,14 @@ public void ValidateSpecialCharsBaggageInjection()
195
201
{
196
202
{ "key 1" , "value 1" } ,
197
203
{ "key2" , "!x_x,x-x&x(x\" );:" } ,
204
+
205
+ // x20-x7E range
206
+ { "key3" , " !\" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\ ]^_`abcdefghijklmnopqrstuvwxyz{|}~" } ,
198
207
} ) ) ;
199
208
200
209
this . baggage . Inject ( propagationContext , carrier , Setter ) ;
201
210
202
211
Assert . Single ( carrier ) ;
203
- Assert . Equal ( "key+1 =value+1 ,key2=!x_x% 2Cx-x%26x(x%22)% 3B%3A" , carrier [ BaggagePropagator . BaggageHeaderName ] ) ;
212
+ Assert . Equal ( "key%201 =value%201 ,key2=%21x_x% 2Cx-x%26x%28x%22%29% 3B%3A,key3=%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~ " , carrier [ BaggagePropagator . BaggageHeaderName ] ) ;
204
213
}
205
214
}
0 commit comments