Merge default headers with explicit headers for an HTTP request. Generate a final set of request headers by combining default headers, a random User-Agent header, and any explicitly provided headers.
(self, explicit_headers: HttpHeaders | None)
| 323 | return self._client_by_proxy_url[proxy_url] |
| 324 | |
| 325 | def _combine_headers(self, explicit_headers: HttpHeaders | None) -> HttpHeaders | None: |
| 326 | """Merge default headers with explicit headers for an HTTP request. |
| 327 | |
| 328 | Generate a final set of request headers by combining default headers, a random User-Agent header, |
| 329 | and any explicitly provided headers. |
| 330 | """ |
| 331 | common_headers = self._header_generator.get_common_headers() if self._header_generator else HttpHeaders() |
| 332 | user_agent_header = ( |
| 333 | self._header_generator.get_random_user_agent_header() if self._header_generator else HttpHeaders() |
| 334 | ) |
| 335 | explicit_headers = explicit_headers or HttpHeaders() |
| 336 | headers = common_headers | user_agent_header | explicit_headers |
| 337 | return headers or None |
| 338 | |
| 339 | @staticmethod |
| 340 | def _is_proxy_error(error: httpx.TransportError) -> bool: |
no test coverage detected