1616# under the License. 
1717import  base64 
1818import  os 
19+ from  typing  import  Optional 
1920from  urllib  import  parse 
2021
2122from  selenium .webdriver .common .proxy  import  Proxy 
@@ -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 ,
33-         auth_type : str  =  "Basic" ,
34-         token : str  =  None ,
32+         username : Optional [ str ]  =  None ,
33+         password : Optional [ str ]  =  None ,
34+         auth_type : Optional [ str ]  =  "Basic" ,
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