
    g                     B    d dl Z ddlmZmZ ddlmZ  G d d      Zd Zy)    N   )	HTTPErrorHTTPConnectionError)__version__c                   6    e Zd ZdZdZde ZdddZddd	Zy)

HTTPClientz9This class handles outgoing HTTP requests to SerpApi.com.zhttps://serpapi.comzserpapi-python, vN)api_keyc                D    || _         t        j                         | _        y )N)r	   requestsSessionsession)selfr	   s     I/var/www/html/Manimaran/venv/lib/python3.12/site-packages/serpapi/http.py__init__zHTTPClient.__init__   s     '')    T)
assert_200c                   d|vr| j                   |d<   |j                  d      s| j                  |z   }n|}	 d| j                  i} | j                  j
                  d||||d|}|r	 t        |       |S |S # t        j                  j                  $ r}	t        |	      d }	~	ww xY w# t        j                  j                  $ r}	t        |	      d }	~	ww xY w)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   zHTTPClient.request   s    F" $F9 v&""T)CC	)#T__5G$$$ 3vwJPA # # q ""22 	)%a((	) &&00 #l"#s/   /A9 *B) 9B&B!!B&)CCC)	__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r   r   
   s(    C'K$[M2J"& * ;? r   r   c                     	 | j                          y# t        j                  j                  $ r}t        |      d}~ww xY w)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   