File tree Expand file tree Collapse file tree 3 files changed +25
-2
lines changed
instrumentation/opentelemetry-instrumentation-wsgi
src/opentelemetry/instrumentation/wsgi Expand file tree Collapse file tree 3 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99 ([ #364 ] ( https://github.com/open-telemetry/opentelemetry-python-contrib/pull/364 ) )
1010- ` opentelemetry-propagator-ot-trace ` Do not throw an exception when headers are not present
1111 ([ #378 ] ( https://github.com/open-telemetry/opentelemetry-python-contrib/pull/378 ) )
12+ - ` opentelemetry-instrumentation-wsgi ` Reimplement ` keys ` method to return actual keys from the carrier instead of an empty list.
13+ ([ #379 ] ( https://github.com/open-telemetry/opentelemetry-python-contrib/pull/379 ) )
1214
1315### Changed
1416- Rename ` IdsGenerator ` to ` IdGenerator `
Original file line number Diff line number Diff line change @@ -66,6 +66,8 @@ def hello():
6666from opentelemetry .trace .status import Status , StatusCode
6767
6868_HTTP_VERSION_PREFIX = "HTTP/"
69+ _CARRIER_KEY_PREFIX = "HTTP_"
70+ _CARRIER_KEY_PREFIX_LEN = len (_CARRIER_KEY_PREFIX )
6971
7072
7173class CarrierGetter (DictGetter ):
@@ -89,7 +91,11 @@ def get(
8991 return None
9092
9193 def keys (self , carrier ):
92- return []
94+ return [
95+ key [_CARRIER_KEY_PREFIX_LEN :].lower ().replace ("_" , "-" )
96+ for key in carrier
97+ if key .startswith (_CARRIER_KEY_PREFIX )
98+ ]
9399
94100
95101carrier_getter = CarrierGetter ()
Original file line number Diff line number Diff line change @@ -22,15 +22,30 @@ def test_get_none(self):
2222 getter = CarrierGetter ()
2323 carrier = {}
2424 val = getter .get (carrier , "test" )
25+
2526 self .assertIsNone (val )
2627
27- def test_get_ (self ):
28+ def test_get (self ):
2829 getter = CarrierGetter ()
2930 carrier = {"HTTP_TEST_KEY" : "val" }
3031 val = getter .get (carrier , "test-key" )
32+
3133 self .assertEqual (val , ["val" ])
3234
3335 def test_keys (self ):
36+ getter = CarrierGetter ()
37+ keys = getter .keys (
38+ {
39+ "HTTP_TEST_KEY" : "val" ,
40+ "HTTP_OTHER_KEY" : 42 ,
41+ "NON_HTTP_KEY" : "val" ,
42+ }
43+ )
44+
45+ self .assertEqual (keys , ["test-key" , "other-key" ])
46+
47+ def test_keys_empty (self ):
3448 getter = CarrierGetter ()
3549 keys = getter .keys ({})
50+
3651 self .assertEqual (keys , [])
You can’t perform that action at this time.
0 commit comments