Loading behave_utils/http.py +7 −5 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ def redirect( session: requests.Session, prefix: str, address: ipaddress.IPv4Address, port: int = 0, /, certificate: str|None = None, ) -> None: """ Loading @@ -40,7 +41,7 @@ def redirect( """ if not prefix.startswith("http://") or prefix.startswith("https://"): prefix = f"http://{prefix}" if certificate is None else f"https://{prefix}" session.mount(prefix, _DirectedAdapter(address, certificate)) session.mount(prefix, _DirectedAdapter(address, port, certificate)) class _DirectedAdapter(requests.adapters.HTTPAdapter): Loading @@ -54,19 +55,20 @@ class _DirectedAdapter(requests.adapters.HTTPAdapter): function. """ def __init__(self, destination: ipaddress.IPv4Address, certificate: str|None): def __init__(self, address: ipaddress.IPv4Address, port: int, certificate: str|None, /): super().__init__() self.destination = destination self.destination = address, port self.certificate = certificate def get_connection(self, url: str, proxies: Mapping[str, str]|None = None) -> connectionpool.HTTPConnectionPool: address, port = self.destination parts = urlparse(url) if parts.hostname is None: raise LocationParseError(url) if parts.scheme == "https": return _HTTPSConnectionPool(parts.hostname, parts.port, address=self.destination) return _HTTPSConnectionPool(parts.hostname, port or parts.port, address=address) if parts.scheme == "http": return _HTTPConnectionPool(parts.hostname, parts.port, address=self.destination) return _HTTPConnectionPool(parts.hostname, port or parts.port, address=address) raise URLSchemeUnknown(parts.scheme) def cert_verify( Loading Loading
behave_utils/http.py +7 −5 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ def redirect( session: requests.Session, prefix: str, address: ipaddress.IPv4Address, port: int = 0, /, certificate: str|None = None, ) -> None: """ Loading @@ -40,7 +41,7 @@ def redirect( """ if not prefix.startswith("http://") or prefix.startswith("https://"): prefix = f"http://{prefix}" if certificate is None else f"https://{prefix}" session.mount(prefix, _DirectedAdapter(address, certificate)) session.mount(prefix, _DirectedAdapter(address, port, certificate)) class _DirectedAdapter(requests.adapters.HTTPAdapter): Loading @@ -54,19 +55,20 @@ class _DirectedAdapter(requests.adapters.HTTPAdapter): function. """ def __init__(self, destination: ipaddress.IPv4Address, certificate: str|None): def __init__(self, address: ipaddress.IPv4Address, port: int, certificate: str|None, /): super().__init__() self.destination = destination self.destination = address, port self.certificate = certificate def get_connection(self, url: str, proxies: Mapping[str, str]|None = None) -> connectionpool.HTTPConnectionPool: address, port = self.destination parts = urlparse(url) if parts.hostname is None: raise LocationParseError(url) if parts.scheme == "https": return _HTTPSConnectionPool(parts.hostname, parts.port, address=self.destination) return _HTTPSConnectionPool(parts.hostname, port or parts.port, address=address) if parts.scheme == "http": return _HTTPConnectionPool(parts.hostname, parts.port, address=self.destination) return _HTTPConnectionPool(parts.hostname, port or parts.port, address=address) raise URLSchemeUnknown(parts.scheme) def cert_verify( Loading