@@ -469,6 +469,12 @@ def transform_httpx_request(request: httpx.Request, recording_id: str) -> None:
469469 request .headers ["x-recording-id" ] = recording_id
470470 request .headers ["x-recording-mode" ] = "record" if is_live_internal () else "playback"
471471
472+ # Remove all request headers that start with `x-stainless`, since they contain CPU info, OS info, etc.
473+ # Those change depending on which machine the tests are run on, so we cannot have a single test recording with those.
474+ headers_to_remove = [key for key in request .headers .keys () if key .lower ().startswith ("x-stainless" )]
475+ for header in headers_to_remove :
476+ del request .headers [header ]
477+
472478 # Rewrite URL to proxy
473479 updated_target = parsed_result ._replace (** get_proxy_netloc ()).geturl ()
474480 request .url = httpx .URL (updated_target )
@@ -567,6 +573,12 @@ def transform_httpx_request(request: httpx.Request, recording_id: str) -> None:
567573 request .headers ["x-recording-id" ] = recording_id
568574 request .headers ["x-recording-mode" ] = "record" if is_live_internal () else "playback"
569575
576+ # Remove all request headers that start with `x-stainless`, since they contain CPU info, OS info, etc.
577+ # Those change depending on which machine the tests are run on, so we cannot have a single test recording with those.
578+ headers_to_remove = [key for key in request .headers .keys () if key .lower ().startswith ("x-stainless" )]
579+ for header in headers_to_remove :
580+ del request .headers [header ]
581+
570582 # Rewrite URL to proxy
571583 updated_target = parsed_result ._replace (** get_proxy_netloc ()).geturl ()
572584 request .url = httpx .URL (updated_target )
0 commit comments