
    e                         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m	Z	 d dl
Z
d dlmZmZmZ d dlZd dlZd dlm Z dZeg d	z   Z G d
 de          Z G d de          ZdS )    N)PoolManager)ssl_)HTTPAdapter)Retry)
ApiGatewayEXTRA_REGIONSALL_REGIONS)requestszECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:AES256-SHA)z
ap-south-2zap-southeast-3zap-southeast-4z	ca-west-1zeu-central-2z
eu-south-2zil-central-1zme-central-1c                   &     e Zd Zd fd	Zd Z xZS )
TlsAdapterr   c                 b    || _          t          t          |           j        di |dddd d S )N      F)pool_maxsizemax_retries
pool_block )ssl_optionssuperr   __init__)selfr   kwargs	__class__s      B/home/alex/cs2snipeproduction/cs2snipe/MarketBot/RequestManager.pyr   zTlsAdapter.__init__   sY    &(j$( 	
 	
	
#$!	
 	
 	
 	
 	
 	
 	
    c                     t          j        t          t          j        | j                  }t          |d|i|| _        d S )N)ciphers	cert_reqsoptionsssl_context)r   create_urllib3_contextCIPHERSsslCERT_REQUIREDr   r   poolmanager)r   	pool_argspool_kwargsctxs       r   init_poolmanagerzTlsAdapter.init_poolmanager   sH    )s'8$BR
 
 
 '	RsRkRRr   r   )__name__
__module____qualname__r   r)   __classcell__)r   s   @r   r   r      sS        
 
 
 
 
 
S S S S S S Sr   r   c                       e Zd Zd Zd Zddej        fdZd Zd Z	d Z
dej        fd	Zdej        fd
Zdej        fdZdS )RequestManagerc                 |    t          t          j        t          j        z            | _        d| _        g d| _        d S )N   )zmArgare1he_region-europez$mArgare1he_region-europe_streaming-1zmArgare1he_region-northamericaz*mArgare1he_region-northamerica_streaming-1zmArgare1he_streaming-1)r   r#   OP_NO_TLSv1OP_NO_TLSv1_1adapteriproyal_alternatoriproyal_pwlist)r   s    r   r   zRequestManager.__init__"   s@    !#/C4E"EFF"# M  M  Mr   c           	         g }t           D ]u}t          dddt          |          g          }|                                 t	          j                    }|                    d|           |                    |           v|| _        d S )Nzhttps://steamcommunity.comAKIAVRYQ3XK3I75DLJEH(XiKLI6uSc7V8e6J6HFenZNGGpjweOrVM84iYhwfF)access_key_idaccess_key_secretregions)	NEW_ALL_REGIONSr   strstartr
   Sessionmountappendaws_sessions)r   all_sessionsregiongatewayaws_sessions        r   createAWSGatewaysz RequestManager.createAWSGateways'   s    % 	- 	-F !=Mc  xb  mp  qw  mx  mx  ly  z  z  zGMMOOO"*,,K:GDDD,,,,(r   r   returnc                     |dk    r|                      |          S |dk    r|                     |          S |dk    r|                     |          S d S )N   r2   r   )getAWSRequestgetIPRoyalRequest getProxyScrapeResidentialRequest)r   urlget_alternators      r   
getRequestzRequestManager.getRequest1   sg    Q%%c***Q))#...Q88=== r   c                    | j         dz   dz  | _         dt          | j        | j                            z   dz   }||d}	 t          dt          |          z   dz   t          | j                   z              t	          j        |dd	|
          }|j        dk    rd S |S # t          $ r&}t          t          |                     Y d }~nd }~ww xY wd S )Nr2      zhttp://alex133769:z@geo.iproyal.com:12321httpshttpTrying to get z with IPRoyal //    	chrome110timeoutimpersonateproxies   )r6   r?   r7   printcffireqgetstatus_code	Exception)r   rP   iproyal_proxyr^   responsees         r   rN   z RequestManager.getIPRoyalRequest:   s    #'#:Q#>!"C,s43FtG^3_/`/``c{{)=AA	"SXX-0CCc$JaFbFbbccc{3{T[\\\H#s**tO 	 	 	#a&&MMMMMMMM	ts   AB B 
C&CCc                 Z   dt          t          j        dd                    z   dz   }||d}	 t          dt          |          z   dz              t	          j        |dd	|
          }|j        dk    rd S |S # t          $ r&}t          t          |                     Y d }~nd }~ww xY wd S )Nzhttp://epjpkomj-r2   i,H z:ghkncby8ddpl@p.webshare.io:80rU   rX   z with WebsharerY   rZ   r[   r_   )r?   randomrandintr`   ra   rb   rc   rd   )r   rP   webshare_proxyr^   rf   rg   s         r   getWebshareResidentialRequestz,RequestManager.getWebshareResidentialRequestH   s    +c&.62J2J.K.KKNnn*NCC	"SXX-0@@AAA{3{T[\\\H#s**tO 	 	 	#a&&MMMMMMMM	ts   AA8 6A8 8
B(B##B(c                    d}||d}	 t          dt          |          z   dz              t          j        |dd|          }|j        dk    rd S |S # t
          $ r&}t          t          |                     Y d }~nd }~ww xY wd S )	Nz>http://che4pvco7u1h1db:bvt6yy7wrahb637@rp.proxyscrape.com:6060rU   rX   z with ProxyscraperY   rZ   r[   r_   )r`   r?   ra   rb   rc   rd   )r   rP   proxyscrape_proxyr^   rf   rg   s         r   rO   z/RequestManager.getProxyScrapeResidentialRequestU   s    \-7HII	"SXX-0CCDDD{3{T[\\\H#s**tO 	 	 	#a&&MMMMMMMM	ts   AA A 
BA==Bc                    	 t          dt          |          z   dz              t          j        | j                  }|                    |d          }n4# t          $ r'}t          t          |                     Y d }~d S d }~ww xY w|S )NrX   z	 with AWS   )r\   )r`   r?   ri   choicerD   rb   rd   )r   rP   rH   aws_responserg   s        r   rM   zRequestManager.getAWSRequestb   s    	"SXX-;<<< -(9::K&??3?;;LL 	 	 	#a&&MMM44444	 s   AA 
BBBc                     t          dt          |          z   dz              t          j                    }|                    |          }|S )NrX    naked)r`   r?   r
   rA   rb   )r   rP   srs       r   getRequestNakedzRequestManager.getRequestNakedl   sC    S)H4555EE#JJr   c                     t          dt          |          z   dz              t          j                    }|                    ||          }|S )NzTrying to post rt   )json)r`   r?   r
   rA   post)r   rP   ry   ru   rv   s        r   postRequestNakedzRequestManager.postRequestNakedr   sI    #c((*X5666FF3TF""r   Nr*   )r+   r,   r-   r   rI   r
   ResponserR   rN   rl   rO   rM   rw   r{   r   r   r   r0   r0   !   s        M M M
) ) )> >83D > > > >      H$5    h&7    X->      r   r0   )r
   r#   %requests.packages.urllib3.poolmanagerr   requests.packages.urllib3.utilr   requests.adaptersr   $requests.packages.urllib3.util.retryr   loggingrequests_ip_rotatorr   r   r	   ri   ry   	curl_cffira   r"   r>   r   objectr0   r   r   r   <module>r      s?    



 = = = = = = / / / / / / ) ) ) ) ) ) 6 6 6 6 6 6  F F F F F F F F F F   ) ) ) ) ) ) x  !^  !^  !^  ^S S S S S S S SU U U U UV U U U U Ur   