
    /h                     B    S SK r SSKJrJr  SSKJr   " S S5      rS rg)    N   )	HTTPErrorHTTPConnectionError)__version__c                   B    \ rS rSrSrSrS\ 3rSS.S jrSS	.S
 jr	Sr
g)
HTTPClient
   z9This class handles outgoing HTTP requests to SerpApi.com.zhttps://serpapi.comzserpapi-python, vN)api_keyc                D    Xl         [        R                  " 5       U l        g )N)r
   requestsSessionsession)selfr
   s     _C:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\serpapi/http.py__init__HTTPClient.__init__   s     '')    T)
assert_200c                   SU;  a  U R                   US'   UR                  S5      (       d  U R                  U-   nOUn SU R                  0nU R                  R
                  " SXX7S.UD6nU(       a   [        U5        U$ U$ ! [        R                  R                   a  n	[        U	5      eS n	A	ff = f! [        R                  R                   a  n	[        U	5      eS n	A	ff = f)Nr
   httpz
User-Agent)methodurlparamsheaders )r
   
startswithBASE_DOMAIN
USER_AGENTr   requestr   
exceptionsConnectionErrorr   raise_for_statusr   )
r   r   pathr   r   kwargsr   r   res
             r   r   HTTPClient.request   s    F" $F9 v&&""T)CC	)#T__5G$$ vJPA # # q ""22 	)%a((	) &&00 #l"#s/   -B 4B4 B1!B,,B14C"CC")r
   r   )__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   __static_attributes__r   r   r   r   r   
   s-    C'K$[M2J"& * ;?  r   r   c                      U R                  5         g! [        R                  R                   a  n[        U5      eSnAff = f)z1Raise an exception if the status code is not 200.N)r"   r   r    r   )r%   r&   s     r   r"   r"   6   s9    	(( ls    A<A)r   r    r   r   r   r   r"   r   r   r   <module>r/      s"     %) )Xr   