U
    ^g%iA
                     @   sT   d dl mZ d dlmZmZmZmZ d dlmZ G dd deZ	G dd de
ZdS )	    )Enum)AnyDictTupleUnion)	urlencodec                   @   s   e Zd ZdZdS )Match*N)__name__
__module____qualname__ANY r   r   R/var/www/html/api-medvista/venv/lib/python3.8/site-packages/twilio/http/request.pyr      s   r   c                
   @   s   e Zd ZdZejejejejejejfeeef eeef eeeef ef ee	eef ef ee	eef ef ee	eef ef e
dddZeedddZeddd	Zedd
dZedddZdS )Requestz
    An HTTP request.
    )methodurlauthparamsdataheaderskwargsc                 K   s@   || _ |r|tjk	r| | _ || _|| _|| _|| _|| _d S N)	r   r   r   upperr   r   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   __init__   s    

zRequest.__init__)returnc                 C   s0   |t jks|t jkrdS |pd }|p&d }||kS )NT)r   r   )clslhsrhsr   r   r   attribute_equal"   s
    zRequest.attribute_equalc                 C   sn   t |tsdS | | j|jol| | j|jol| | j|jol| | j|jol| | j|jol| | j|jS )NF)	
isinstancer   r    r   r   r   r   r   r   )r   otherr   r   r   __eq__-   s    
zRequest.__eq__c                 C   s   d}| j r*| j tjkr*dt| j dd}d}| jrr| jtjkrr| jdkrNd}|ddd	d
 | j D 7 }d}| j	r| j	tjkrdddd
 | j	 D }dj| j| j
|||dS )N z?{}T)doseqGETz
 -Gz
{}
c                 s   s   | ]\}}d  ||V  qdS )z -d "{}={}"N)format.0kvr   r   r   	<genexpr>D   s     z"Request.__str__.<locals>.<genexpr>c                 s   s*   | ]"\}}|  d krd||V  qdS )authorizationz -H "{}: {}"N)lowerr(   r)   r   r   r   r-   J   s   z%{method} {url}{params}{data}{headers})r   r   r   r   r   )r   r   r   r(   r   r   r   joinitemsr   r   )r   r   r   r   r   r   r   __str__:   s0    

zRequest.__str__c                 C   s   t | S r   )str)r   r   r   r   __repr__Y   s    zRequest.__repr__N)r
   r   r   __doc__r   r   r   r3   r   r   r   r   classmethodboolr    r#   r2   r4   r   r   r   r   r   
   s*   


r   N)enumr   typingr   r   r   r   urllib.parser   r   objectr   r   r   r   r   <module>   s   