o
    di                     @   s`   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
 edZG dd	 d	ejjZdS )
    N)ParamValidationError   )DEFAULT_KEEPALIVE_TIMEOUT)DEFAULT_HTTP_SESSION_CLS)HttpxSession)keepalive_timeoutwrite_timeoutpool_timeoutc                       s6   e Zd Zdef fdd	Zdd Zedd Z  ZS )	AioConfigNc                    sZ   t  jdi | | || t|| _|| _| jst | _d| jvr+t| jd< d S d S )Nr    )super__init___validate_connector_argscopyconnector_argshttp_session_clsdictr   )selfr   r   kwargs	__class__r   F/home/ubuntu/.local/lib/python3.10/site-packages/aiobotocore/config.pyr      s   
zAioConfig.__init__c                 C   s*   t  | j}||j t| jfi |S )N)r   _user_provided_optionsupdater
   r   )r   other_configconfig_optionsr   r   r   merge#   s   zAioConfig.mergec                 C   sx  | d u rd S |   D ]\}}|dkr)|tu rtddt|ts(t| ddq
|dkr?|d ur>t|ts>t| ddq
|tv rW|d urVt|ttfsVt| ddq
|dkrv|tu rhtd	| d
dt|tsut| ddq
|dkrdd l}t||j	st| ddq
|dkrddl
m} |tu rtd| d
dt||st| ddq
td| dd S )Nuse_dns_cachezTHttpx does not support dns caching. https://github.com/encode/httpx/discussions/2211)reportz value must be a booleanttl_dns_cachez value must be an int or Nonez" value must be a float/int or Noneforce_closez)Httpx backend does not currently support .ssl_contextr   z must be an SSLContext instanceresolver)AbstractResolverzHttpx backend does not support z* must be an instance of a AbstractResolverzinvalid connector_arg:)itemsr   r   
isinstanceboolintTIMEOUT_ARGSfloatssl
SSLContextaiohttp.abcr$   )r   r   kvr+   r$   r   r   r   r   )   sn   




z"AioConfig._validate_connector_args)	__name__
__module____qualname__r   r   r   staticmethodr   __classcell__r   r   r   r   r
      s    r
   )r   botocore.clientbotocorebotocore.exceptionsr   
_constantsr   endpointr   httpxsessionr   	frozensetr)   clientConfigr
   r   r   r   r   <module>   s    