o
    e                     @   s    d dl mZ G dd deZdS )    )	urlencodec                   @   sN   e Zd ZdZdZeeeeeefddZedd Zdd Zd	d
 Z	dd Z
dS )Requestz
    An HTTP request.
    *c                 K   s,   |  | _|| _|| _|| _|| _|| _d S N)uppermethodurlauthparamsdataheaders)selfr   r   r	   r
   r   r   kwargs r   F/var/www/html/venv/lib/python3.10/site-packages/twilio/http/request.py__init__
   s   

zRequest.__init__c                 C   s0   || j ks
|| j krdS |pd }|pd }||kS )NT)ANY)clslhsrhsr   r   r   attribute_equal   s
   zRequest.attribute_equalc                 C   sn   t |tsdS | | j|jo6| | j|jo6| | j|jo6| | j|jo6| | j|jo6| | 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 | jkrd| j }d}| jr&| j| jkr&dt| jdd}d}| jrJ| j| jkrJ| jdkr8d}|dd	d
d | j D 7 }d}| j	re| j	| jkredd	dd | j	 D }dj|| j| j
|||dS )N z{} z?{}T)doseqGETz
 -Gz
{}
c                 s        | ]\}}d  ||V  qdS )z -d "{}={}"Nformat.0kvr   r   r   	<genexpr><   s    z"Request.__str__.<locals>.<genexpr>c                 s   r   )z -H "{}: {}"Nr   r!   r   r   r   r%   @   s    z+{auth}{method} {url}{params}{data}{headers})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__/   s0   
$
zRequest.__str__c                 C   s   t | S r   )str)r   r   r   r   __repr__L   s   zRequest.__repr__N)__name__
__module____qualname____doc__r   r   classmethodr   r   r(   r*   r   r   r   r   r      s    


r   N)urllib.parser   objectr   r   r   r   r   <module>   s    