
    ,h                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	Z	d dl
mZ d dl
mZ  G d de      Z G d	 d
      Z G d d      Zy)    N)Enum)Optional)parse)Proxy)	ProxyTypec                       e Zd ZdZdZdZy)AuthTypeBasicBearerz	X-API-KeyN)__name__
__module____qualname__BASICBEARER	X_API_KEY     i/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/selenium/webdriver/remote/client_config.pyr	   r	      s    EFIr   r	   c                        e Zd Zd Zd ZddZy)_ClientConfigDescriptorc                     || _         y N)name)selfr   s     r   __init__z _ClientConfigDescriptor.__init__&   s	    	r   c                 4    |j                   | j                     S r   __dict__r   )r   objclss      r   __get__z_ClientConfigDescriptor.__get__)   s    ||DII&&r   Nc                 6    ||j                   | j                  <   y r   r   )r   r   values      r   __set__z_ClientConfigDescriptor.__set__,   s    "'TYYr   returnN)r   r   r   r   r!   r$   r   r   r   r   r   %   s    '(r   r   c                      e Zd Z ed      Z	  ed      Z	  ed      Z	  ed      Z	  ed      Z	  ed      Z		  ed      Z
	  ed      Z	  ed	      Z	  ed
      Z	  ed      Z	  ed      Z	  ed      Z	 d edej&                  i      ddddddej*                  dddfdedee   dee   dee   dee   dee   dee   dee   dee   dee   dee   dee   dee   d dfd!Zd%d"Zd ee   fd#Zd ee   fd$Zy)&ClientConfig_remote_server_addr_keep_alive_proxy_ignore_certificates_init_args_for_pool_manager_timeout	_ca_certs	_username	_password
_auth_type_token_user_agent_extra_headersT	proxyType)rawFNremote_server_addr
keep_aliveproxyignore_certificatesinit_args_for_pool_managertimeoutca_certsusernamepassword	auth_typetoken
user_agentextra_headersr&   c                    || _         || _        || _        || _        |xs i | _        |t        j                         n|| _        || _        |	| _	        |
| _
        || _        || _        || _        |Gdt        j                  v rt        j                   d      | _        y t#        j$                         | _        y || _        y )NREQUESTS_CA_BUNDLE)r8   r9   r:   r;   r<   socketgetdefaulttimeoutr=   r?   r@   rA   rB   rC   rD   osenvirongetenvcertifiwherer>   )r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   s                 r   r   zClientConfig.__init__O   s      #5$
#6 *D*J'5<_v//1'  "
$*  1E

0RRYY+, 	X_XeXeXg 	  	r   c                 6    t        j                         | _        y)z2Resets the timeout to the default value of socket.N)rG   rH   r.   )r   s    r   reset_timeoutzClientConfig.reset_timeoutr   s    002r   c                    | j                   j                  }t        j                  | j                        }|t
        j                  u ry|t
        j                  u rIt        j                  j                  dt        j                  j                  d            }|rt        t        j                  |j                  d            D ]_  }|dk(  r yt        j                  |      }|j                  r|j                  |j                  k(  r y|j                   |j                  v s_ y t        j                  j                  | j                  j#                  d      rdndt        j                  j                  | j                  j#                  d      r
d	            S d
            S |t
        j$                  u rG| j                  j#                  d      r| j                   j&                  S | j                   j(                  S y)z0Returns the proxy URL to use for the connection.Nno_proxyNO_PROXY,*zhttps://https_proxy
http_proxyHTTPS_PROXY
HTTP_PROXY)r:   
proxy_typer   urlparser8   r   DIRECTSYSTEMrI   rJ   getmapstrstripsplitnetlocpath
startswithMANUALsslProxyrV   )r   rY   
remote_add	_no_proxyentryn_urls         r   get_proxy_urlzClientConfig.get_proxy_urlv   s   ZZ**
^^D$;$;<
))))))

z2::>>*3MNI IOOC,@A $E|#!NN51E||
(9(9U\\(I#zzZ%6%66#$ ::>>!%!8!8!C!CJ!OUa

0G0G0R0RS]0^}q dpq  )))*.*A*A*L*LZ*X4::&&s^b^h^h^s^ssr   c                    | j                   t        j                  u r| j                  r{| j                  ro| j                   d| j                   }t        j                  |j                  d            j                  d      }dt        j                  j                   d| iS | j                   t        j                  u r7| j                  r+dt        j                  j                   d| j                   iS | j                   t        j                  u r4| j                  r(t        j                  j                   | j                   iS y)z8Returns the authorization to add to the request headers.:zutf-8Authorization N)rA   r	   r   r?   r@   base64	b64encodeencodedecoder#   r   rB   r   )r   credentialsencoded_credentialss      r   get_auth_headerzClientConfig.get_auth_header   s    >>X^^+$--!]]O1T]]O<K"("2"2;3E3Eg3N"O"V"VW^"_#(<(<'=Q?R>S%TUU>>X__,#(=(='>a

|%LMM>>X///DJJ))//0djj\CCr   r%   )r   r   r   r   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   r   r   r\   r	   r   r_   r   booldictintr   rO   rk   rv   r   r   r   r(   r(   0   s   01FG&(7J)#H-EN12HI;!89V!W5%j1G&{3H>&{3H&{3H'5IH#H-EO(7JF+,<=MA
 &*!&K9I9I+J!K.359!%"&"&"&(0#$((,!
!
 TN!
 	!

 &d^!
 %-TN!
 #!
 3-!
 3-!
 3-!
 H%!
 }!
 SM!
  ~!
 
!
F3x} 2
$ 
r   r(   )rp   rI   rG   enumr   typingr   urllibr   rL   selenium.webdriver.common.proxyr   r   r	   r   r(   r   r   r   <module>r~      sD   $  	      1 5t ( (i ir   