a
    !f_
                     @   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   T/var/www/html/python-backend/venv/lib/python3.9/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u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| j }d}| jrL| jtjkrLdt| jdd}d}| jr| jtjkr| jdkrpd}|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{} z?{}T)doseqGETz
 -Gz
{}
c                 s   s   | ]\}}d  ||V  qdS )z -d "{}={}"Nformat.0kvr   r   r   	<genexpr>H       z"Request.__str__.<locals>.<genexpr>c                 s   s   | ]\}}d  ||V  qdS )z -H "{}: {}"Nr(   r*   r   r   r   r.   N   r/   z+{auth}{method} {url}{params}{data}{headers})r   r   r   r   r   r   )r   r   r   r)   r   r   r   r   joinitemsr   r   )r   r   r   r   r   r   r   r   __str__:   s4    
zRequest.__str__c                 C   s   t | S r   )str)r   r   r   r   __repr__Z   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   