@@ -305,9 +305,9 @@ def _set_http_status_code_attribute(
305305
306306
307307def _get_custom_header_attributes (
308- headers : Mapping [str , str | list [str ]] | None ,
309- captured_headers : list [str ] | None ,
310- sensitive_headers : list [str ] | None ,
308+ headers : typing . Optional [ Mapping [str , typing . Union [ str , list [str ]]]] ,
309+ captured_headers : typing . Optional [ list [str ]] ,
310+ sensitive_headers : typing . Optional [ list [str ]] ,
311311 normalize_function : Callable [[str ], str ],
312312) -> dict [str , list [str ]]:
313313 """Extract and sanitize HTTP headers for span attributes.
@@ -342,9 +342,9 @@ def create_trace_config(
342342 tracer_provider : TracerProvider = None ,
343343 meter_provider : MeterProvider = None ,
344344 sem_conv_opt_in_mode : _StabilityMode = _StabilityMode .DEFAULT ,
345- captured_request_headers : list [str ] | None = None ,
346- captured_response_headers : list [str ] | None = None ,
347- sensitive_headers : list [str ] | None = None ,
345+ captured_request_headers : typing . Optional [ list [str ]] = None ,
346+ captured_response_headers : typing . Optional [ list [str ]] = None ,
347+ sensitive_headers : typing . Optional [ list [str ]] = None ,
348348) -> aiohttp .TraceConfig :
349349 """Create an aiohttp-compatible trace configuration.
350350
@@ -526,7 +526,10 @@ async def on_request_start(
526526
527527 span_attributes .update (
528528 _get_custom_header_attributes (
529- params .headers ,
529+ {
530+ key : params .headers .getall (key )
531+ for key in params .headers .keys ()
532+ },
530533 captured_request_headers ,
531534 sensitive_headers ,
532535 normalise_request_header_name ,
@@ -565,7 +568,10 @@ async def on_request_end(
565568
566569 trace_config_ctx .span .set_attributes (
567570 _get_custom_header_attributes (
568- params .headers ,
571+ {
572+ key : params .response .headers .getall (key )
573+ for key in params .response .headers .keys ()
574+ },
569575 captured_response_headers ,
570576 sensitive_headers ,
571577 normalise_response_header_name ,
@@ -632,9 +638,9 @@ def _instrument(
632638 typing .Sequence [aiohttp .TraceConfig ]
633639 ] = None ,
634640 sem_conv_opt_in_mode : _StabilityMode = _StabilityMode .DEFAULT ,
635- captured_request_headers : list [str ] | None = None ,
636- captured_response_headers : list [str ] | None = None ,
637- sensitive_headers : list [str ] | None = None ,
641+ captured_request_headers : typing . Optional [ list [str ]] = None ,
642+ captured_response_headers : typing . Optional [ list [str ]] = None ,
643+ sensitive_headers : typing . Optional [ list [str ]] = None ,
638644):
639645 """Enables tracing of all ClientSessions
640646
0 commit comments