
    Wwg6                     p    d dl Z d dlmZmZmZ d dlZddlmZ ddlm	Z	 ddgZ
 G d d      Z G d	 d      Zy)
    N)AnyDictUnion   )DEFAULT_USER_AGENT)queue_fetch_taskLazySessionAIOHttpMixinc                       e Zd Zd Zd Zd Zy)r	   c                     d | _         y N)_session)selfs    k/var/www/horilla/myenv/lib/python3.12/site-packages/pyhanko_certvalidator/fetchers/aiohttp_fetchers/util.py__init__zLazySession.__init__   s	        c                 `   K   | j                   }|t        j                         x| _         }|S wr   )r   aiohttpClientSessionr   sessions     r   get_sessionzLazySession.get_session   s.     --?&-&;&;&==DMGs   ,.c                 ^   K   | j                   }||j                          d {    y y 7 wr   )r   closer   s     r   r   zLazySession.close   s,     ----/!! !s   "-+-N)__name__
__module____qualname__r   r   r    r   r   r	   r	      s    "r   c                        e Zd Z	 	 d	deej
                  ef   f fdZdej
                  fdZd Z	d Z
d Zd Z xZS )
r
   r   c                 x    || _         |xs t        | _        || _        i | _        i | _        t        |           y r   )r   r   
user_agentper_request_timeout_AIOHttpMixin__results_AIOHttpMixin__result_eventssuperr   )r   r   r!   r"   	__class__s       r   r   zAIOHttpMixin.__init__   s;      $:(:#6 )+9;r   returnc                 z   K   | j                   }t        |t              r|j                          d {   S |S 7 wr   )r   
isinstancer	   r   r   s     r   r   zAIOHttpMixin.get_session*   s5     --g{+ ,,...N /s   0;9;c                 ~    | j                   j                         D ch c]  }t        |t              r| c}S c c}w r   )r#   valuesr)   	Exception)r   vs     r   get_resultszAIOHttpMixin.get_results1   s5    ~~,,.
jI6NA
 	
 
s   ::c                 N    | j                   |   }t        |t              rt        y r   )r#   r)   r,   KeyError)r   tagresults      r   get_results_for_tagz AIOHttpMixin.get_results_for_tag6   s$    $fi(N )r   c              #   ~   K   | j                   j                         D ]  \  }}t        |t              r||f  y wr   )r#   itemsr)   r,   )r   kr-   s      r   _iter_resultszAIOHttpMixin._iter_results;   s9     NN((* 	DAqa+d
	s   1=	=c                 b   K   t        | j                  | j                  ||       d {   S 7 wr   )r   r#   r$   )r   r1   	async_funs      r   _post_fetch_taskzAIOHttpMixin._post_fetch_task@   s0     %NND00#y
 
 	
 
s   &/-/)N
   )r   r   r   r   r   r   r	   r   r   r.   r3   r7   r:   __classcell__)r&   s   @r   r
   r
      sN     	w,,k9:7#8#8 




r   )asynciotypingr   r   r   r   apir   common_utilsr   __all__r	   r
   r   r   r   <module>rB      s5     # #  $ +.
)" " '
 '
r   