
    Whp                     $   d dl Z ddlmZmZmZmZ ddlT ddlT ddlm	Z	m
Z
mZ dgZ e j         ej        d                    Z e j        d          Zd	 Zd
 Z e j         ej        d                    Zd Z e j         ej        d                    Zd Z G d d          Z e j         ej        d                    Z G d d          Z G d d          Zd Zeefeeefeeefeee feee!feee"feee feee!feee"fee#eeedi
Z$dS )    N   )chunk_headerheader_fieldrequest_linestatus_line)*)LocalProtocolErrorRemoteProtocolErrorvalidateREADERSasciis   [ \t]+c              #   B  K   t          |           }d }|D ]}t                              |          }|rZ|t          d          t	          |t
                    st          |          }|dz  }|||                                d          z  }x||V  |}||V  d S d S )Nz%continuation line at start of headers    )iterobs_fold_rematchr	   
isinstance	bytearrayend)linesitlastliner   s        R/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/h11/_readers.py_obsolete_line_foldr   #   s      	eBD  !!$'' 
	|()PQQQdI.. ' DLDD''DD


DD




     c              #      K   t          |           D ]+}t          t          |d|          }|d         |d         fV  ,d S )Nzillegal header line: {!r}
field_namefield_value)r   r   header_field_re)r   r   matchess      r   _decode_header_linesr"   7   sY      #E** > >?D2MtTT|$gm&<=====> >r   c           
      B   |                                  }|%|                                 rt          d          d S |st          d          t          t          |d         d|d                   }t          dt          t          |dd                              dd|S )	Nillegal request linezno request line receivedr   zillegal request line: {!r}r   Theaders_parsed )maybe_extract_lines+is_next_line_obviously_invalid_request_liner	   r   request_line_reRequestlistr"   )bufr   r!   s      r   maybe_read_from_IDLE_clientr/   @   s    ##%%E}::<< 	=$%;<<<t = !;<<<q#?q G  )%)4455t GN  r   c           
         |                                  }|%|                                 rt          d          d S |st          d          t          t          |d         d|d                   }|d         d|d<   t          |d                   x}|d<   |dk     rt          nt          } |dt          t          |d	d                              d
d|S )Nr$   zno response line receivedr   zillegal status line: {!r}reasonr   status_code   r   Tr%   r(   )
r)   r*   r	   r   status_line_reintInformationalResponseResponser-   r"   )r.   r   r!   r2   class_s        r   $maybe_read_from_SEND_RESPONSE_serverr9   S   s    ##%%E}::<< 	=$%;<<<t > !<===~uQx1LeTUhWWGx +.w}/E+F+FFK'-(&1C&7&7""XF6 )%)4455t GN  r   c                        e Zd Zd Zd Zd ZdS )ContentLengthReaderc                 "    || _         || _        d S N)_length
_remaining)selflengths     r   __init__zContentLengthReader.__init__g   s     r   c                     | j         dk    rt                      S |                    | j                   }|d S | xj         t          |          z  c_         t	          |          S )Nr   data)r?   EndOfMessagemaybe_extract_at_mostlenDatar@   r.   rE   s      r   __call__zContentLengthReader.__call__k   s\    ?a>>!((99<43t99$r   c                 l    t          d                    | j        | j        z
  | j                            )Nz]peer closed connection without sending complete message body (received {} bytes, expected {}))r
   formatr>   r?   r@   s    r   read_eofzContentLengthReader.read_eoft   s8    !//5vt.0 0
 
 	
r   N__name__
__module____qualname__rB   rK   rO   r(   r   r   r;   r;   f   sA        ! ! !  
 
 
 
 
r   r;   c                        e Zd Zd Zd Zd ZdS )ChunkedReaderc                 0    d| _         d| _        d| _        d S )Nr   F)_bytes_in_chunk_bytes_to_discard_reading_trailerrN   s    r   rB   zChunkedReader.__init__   s"      "# %r   c                 &   | j         rB|                                }|d S t          t          t	          |                              S | j        dk    rH|                    | j                  }|d S | xj        t          |          z  c_        | j        dk    rd S | j        dk    sJ | j        dk    rk|	                                }|d S t          t          |d|          }t          |d         d          | _        | j        dk    rd| _          | |          S d}nd}| j        dk    sJ |                    | j                  }|d S | xj        t          |          z  c_        | j        dk    r
d	| _        d}nd}t          |||
          S )N)r&   r   zillegal chunk header: {!r}
chunk_size   )baseTF   )rE   chunk_start	chunk_end)rY   r)   rF   r-   r"   rX   rG   rH   rW   maybe_extract_next_liner   chunk_header_rer5   rI   )r@   r.   r   rE   r   r!   r_   r`   s           r   rK   zChunkedReader.__call__   s     	K++--E}t-A%-H-H(I(IJJJJ!A%%,,T-CDDD|t""c$ii/""%))t%****1$$6688L#t,	 G $'w|'<2#F#F#FD #q(((,%tCyy KKK#a''''(()=>><4D		)1$$%&D"III;)LLLLr   c                      t          d          )NzVpeer closed connection without sending complete message body (incomplete chunked read))r
   rN   s    r   rO   zChunkedReader.read_eof   s    !(
 
 	
r   NrP   r(   r   r   rU   rU      sE        & & &,M ,M ,M\
 
 
 
 
r   rU   c                       e Zd Zd Zd ZdS )Http10Readerc                 T    |                     d          }|d S t          |          S )Niɚ;rD   )rG   rI   rJ   s      r   rK   zHttp10Reader.__call__   s-    ((33<4r   c                     t                      S r=   )rF   rN   s    r   rO   zHttp10Reader.read_eof   s    ~~r   N)rQ   rR   rS   rK   rO   r(   r   r   re   re      s2              r   re   c                 (    | rt          d          d S )NzGot data when expecting EOF)r	   )r.   s    r   expect_nothingri      s    
 @ !>???4r   )chunkedzcontent-lengthzhttp/1.0)%re_abnfr   r   r   r   _events_state_utilr	   r
   r   __all__compileencoder    r   r   r"   r+   r/   r4   r9   r;   rb   rU   re   ri   CLIENTIDLESERVERSEND_RESPONSEDONE
MUST_CLOSECLOSED	SEND_BODYr   r(   r   r   <module>r{      sF  & 
			 H H H H H H H H H H H H         D D D D D D D D D D+"*0\099:: bj$$  (> > > "*0\099::    .K.w7788  &
 
 
 
 
 
 
 
. "*0\099::;
 ;
 ;
 ;
 ;
 ;
 ;
 ;
|          TN/TN8]ATNNZ.VnTNNZ.Vn -  r   