8000 fix: Update connection manager creation by mykola-mokhnach · Pull Request #864 · appium/python-client · GitHub
[go: up one dir, main page]

Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions appium/webdriver/appium_connection.py
Original file line number Diff line number Diff line change
8000 Expand Up @@ -25,6 +25,8 @@


class AppiumConnection(RemoteConnection):
_proxy_url: Optional[str]

def __init__(
self,
remote_server_addr: str,
Expand All @@ -39,7 +41,7 @@ def __init__(

def _get_connection_manager(self) -> Union[urllib3.PoolManager, urllib3.ProxyManager]:
# https://github.com/SeleniumHQ/selenium/blob/0e0194b0e52a34e7df4b841f1ed74506beea5c3e/py/selenium/webdriver/remote/remote_connection.py#L134
pool_manager_init_args = {'timeout': self._timeout}
pool_manager_init_args = {'timeout': self.get_timeout()}

if self._ca_certs:
pool_manager_init_args['cert_reqs'] = 'CERT_REQUIRED'
Expand All @@ -50,11 +52,17 @@ def _get_connection_manager(self) -> Union[urllib3.PoolManager, urllib3.ProxyMan

pool_manager_init_args.update(self._init_args_for_pool_manager)

return (
urllib3.PoolManager(**pool_manager_init_args)
if self._proxy_url is None
else urllib3.ProxyManager(self._proxy_url, **pool_manager_init_args)
)
if self._proxy_url:
if self._proxy_url.lower().startswith('sock'):
from urllib3.contrib.socks import SOCKSProxyManager

return SOCKSProxyManager(self._proxy_url, **pool_manager_init_args)
if self._identify_http_proxy_auth():
self._proxy_url, self._basic_proxy_auth = self._separate_http_proxy_auth()
pool_manager_init_args['proxy_headers'] = urllib3.make_headers(proxy_basic_auth=self._basic_proxy_auth)
return urllib3.ProxyManager(self._proxy_url, **pool_manager_init_args)

return urllib3.PoolManager(**pool_manager_init_args)

@classmethod
def get_remote_connection_headers(cls, parsed_url: 'ParseResult', keep_alive: bool = True) -> Dict[str, Any]:
Expand Down
0