2020
2121from selenium .webdriver .common .proxy import Proxy
2222from selenium .webdriver .common .proxy import ProxyType
23+ from typing import Optional
2324
2425
2526class ClientConfig :
@@ -28,10 +29,10 @@ def __init__(
2829 remote_server_addr : str ,
2930 keep_alive : bool = True ,
3031 proxy : Proxy = Proxy (raw = {"proxyType" : ProxyType .SYSTEM }),
31- username : str = None ,
32- password : str = None ,
32+ username : Optional [ str ] = None ,
33+ password : Optional [ str ] = None ,
3334 auth_type : str = "Basic" ,
34- token : str = None ,
35+ token : Optional [ str ] = None ,
3536 ) -> None :
3637 self .remote_server_addr = remote_server_addr
3738 self .keep_alive = keep_alive
@@ -46,7 +47,7 @@ def remote_server_addr(self) -> str:
4647 return self ._remote_server_addr
4748
4849 @remote_server_addr .setter
49- def remote_server_addr (self , value : str ):
50+ def remote_server_addr (self , value : str ) -> None :
5051 self ._remote_server_addr = value
5152
5253 @property
@@ -110,12 +111,12 @@ def token(self) -> str:
110111 def token (self , value : str ) -> None :
111112 self ._token = value
112113
113- def get_proxy_url (self ) -> str :
114+ def get_proxy_url (self ) -> Optional [ str ] :
114115 proxy_type = self .proxy .proxy_type
115116 remote_add = parse .urlparse (self .remote_server_addr )
116- if proxy_type == ProxyType .DIRECT :
117+ if proxy_type is ProxyType .DIRECT :
117118 return None
118- if proxy_type == ProxyType .SYSTEM :
119+ if proxy_type is ProxyType .SYSTEM :
119120 _no_proxy = os .environ .get ("no_proxy" , os .environ .get ("NO_PROXY" ))
120121 if _no_proxy :
121122 for entry in map (str .strip , _no_proxy .split ("," )):
@@ -130,18 +131,18 @@ def get_proxy_url(self) -> str:
130131 "https_proxy" if self .remote_server_addr .startswith ("https://" ) else "http_proxy" ,
131132 os .environ .get ("HTTPS_PROXY" if self .remote_server_addr .startswith ("https://" ) else "HTTP_PROXY" ),
132133 )
133- if proxy_type == ProxyType .MANUAL :
134+ if proxy_type is ProxyType .MANUAL :
134135 return self .proxy .sslProxy if self .remote_server_addr .startswith ("https://" ) else self .proxy .http_proxy
135136 return None
136137
137- def get_auth_header (self ):
138+ def get_auth_header (self ) -> Optional [ dict ] :
138139 auth_type = self .auth_type .lower ()
139140 if auth_type == "basic" and self .username and self .password :
140141 credentials = f"{ self .username } :{ self .password } "
141- encoded_credentials = base64 .b64encode (credentials .encode ()).decode ()
142+ encoded_credentials = base64 .b64encode (credentials .encode ("utf-8" )).decode ("utf-8" )
142143 return {"Authorization" : f"Basic { encoded_credentials } " }
143- elif auth_type == "bearer" and self .token :
144+ if auth_type == "bearer" and self .token :
144145 return {"Authorization" : f"Bearer { self .token } " }
145- elif auth_type == "oauth" and self .token :
146+ if auth_type == "oauth" and self .token :
146147 return {"Authorization" : f"OAuth { self .token } " }
147148 return None
0 commit comments