comparison urllib3/util/proxy.py @ 7:5eb2d5e3bf22

planemo upload for repository https://toolrepo.galaxytrakr.org/view/jpayne/bioproject_to_srr_2/556cac4fb538
author jpayne
date Sun, 05 May 2024 23:32:17 -0400
parents
children
comparison
equal deleted inserted replaced
6:b2745907b1eb 7:5eb2d5e3bf22
1 from __future__ import annotations
2
3 import typing
4
5 from .url import Url
6
7 if typing.TYPE_CHECKING:
8 from ..connection import ProxyConfig
9
10
11 def connection_requires_http_tunnel(
12 proxy_url: Url | None = None,
13 proxy_config: ProxyConfig | None = None,
14 destination_scheme: str | None = None,
15 ) -> bool:
16 """
17 Returns True if the connection requires an HTTP CONNECT through the proxy.
18
19 :param URL proxy_url:
20 URL of the proxy.
21 :param ProxyConfig proxy_config:
22 Proxy configuration from poolmanager.py
23 :param str destination_scheme:
24 The scheme of the destination. (i.e https, http, etc)
25 """
26 # If we're not using a proxy, no way to use a tunnel.
27 if proxy_url is None:
28 return False
29
30 # HTTP destinations never require tunneling, we always forward.
31 if destination_scheme == "http":
32 return False
33
34 # Support for forwarding with HTTPS proxies and HTTPS destinations.
35 if (
36 proxy_url.scheme == "https"
37 and proxy_config
38 and proxy_config.use_forwarding_for_https
39 ):
40 return False
41
42 # Otherwise always use a tunnel.
43 return True