
     i                         d dl mZ d dlmZmZmZmZmZ d dlm	Z	m
Z
mZ d dlmZmZ d dlmZmZ d dlmZ d dlmZ d dlmZ  G d	 d
e          ZdS )    )SimpleNamespace)AnyOptionalListDictUnion)ClientSessionTraceRequestStartParamsTraceConfig)RetryClientRetryOptionsBase)	BadMethodFailedDecodeJson)HTTPClientInterface)request)validate_jsonc            
           e Zd Zddee         fdZdedededdfdZ	d	e
d
e
deee         ee
ef         f         fdZdS )
HTTPClientNretry_optionsc                     || _         t                      | _        | j        j                            | j                   d S N)r   r   trace_configon_request_startappend)selfr   s     W/root/.openclaw/workspace/.venvs/songid/lib/python3.11/site-packages/shazamio/client.py__init__zHTTPClient.__init__   s9    *'MM*11$2GHHHHH    _trace_config_ctxparamsreturnc           	         K   |j         d         }t          j        d|j        |j        |j        || j        j        d           d S )Ncurrent_attemptzSending HTTP request)urlmethodheadersattemptattempts)extra)trace_request_ctxrequest_loggerdebugr%   r&   r'   r   r)   )r   r   r    r!   r$   s        r   r   zHTTPClient.on_request_start   sb       +<=NO"z -!>* .7 		
 		
 		
 		
 		
 		
r   r&   r%   c                   K   t          | j        d| j        g          4 d {V 	 }|                                dk    rt |j        |fi |4 d {V }	 t          |g|R   d {V 	 cd d d           d {V  cd d d           d {V  S # t          $ r}|d }~ww xY w# 1 d {V swxY w Y   n|                                dk    rt |j        |fi |4 d {V }	 t          |g|R   d {V 	 cd d d           d {V  cd d d           d {V  S # t          $ r}|d }~ww xY w# 1 d {V swxY w Y   nt          d          	 d d d           d {V  d S # 1 d {V swxY w Y   d S )NF)r   raise_for_statustrace_configsGETPOSTzAccept only GET/POST)	r   r   r   uppergetr   r   postr   )r   r&   r%   argskwargsclientrespes           r   r   zHTTPClient.request%   s      ,",-
 
 
 	8 	8 	8 	8 	8 	8 	8 	8 ||~~&&%6:c44V44               %24%?$%?%?%????????                         	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 ,                                     6))&6;s55f55               %24%?$%?%?%????????                         	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8  ,                                       67777'	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   -E#B"B)E#
BBBB""
B,	,E#/B,	00E# D."D5E#
D+$D&&D++D..
D8	8E#;D8	<E##
E-0E-r   )__name__
__module____qualname__r   r   r   r	   r   r
   r   strr   r   r   r   r    r   r   r   r      s        I Ih/?&@ I I I I


 *
 (	

 

 
 
 
$88 8 
tCy$sCx.(	)8 8 8 8 8 8r   r   N)typesr   typingr   r   r   r   r   aiohttpr	   r
   r   aiohttp_retryr   r   shazamio.exceptionsr   r   shazamio.interfaces.clientr   shazamio.loggersr   r,   shazamio.utilsr   r   r?   r   r   <module>rH      s    ! ! ! ! ! ! 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G G G G G G G G G G 7 7 7 7 7 7 7 7 ; ; ; ; ; ; ; ; : : : : : : 6 6 6 6 6 6 ( ( ( ( ( (28 28 28 28 28$ 28 28 28 28 28r   