| 
				Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /lib64/python3.6/http/__pycache__/  | 
Upload File :  | 
3
T�Se��  �               @   s`  d Z ddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZ dddddd	d
ddd
ddddddddgZdZ
dZdZdZdZdZe� jejj� dd� ejjj� D �ZdZdZd Zejd!�jZejd"�jZ ejd#�Z!d$d%d&hZ"d@d(d)�Z#G d*d+� d+ej$j%�Z&e&fd,d-�Z'G d.d� dej(�Z)G d/d� d�Z*yddl+Z+W n e,k
�rZ   Y nX G d0d1� d1e*�Z-ej.d1� G d2d� de/�Z0G d3d� de0�Z1G d4d� de0�Z2G d5d� de0�Z3G d6d	� d	e0�Z4G d7d
� d
e0�Z5G d8d� de0�Z6G d9d
� d
e0�Z7G d:d� de7�Z8G d;d� de7�Z9G d<d� de7�Z:G d=d� de0�Z;G d>d� de0�Z<G d?d� de=e;�Z>e0Z?dS )Aa�
  HTTP/1.1 client library
<intro stuff goes here>
<other stuff, too>
HTTPConnection goes through a number of "states", which define when a client
may legally make another request or fetch the response for a particular
request. This diagram details these state transitions:
    (null)
      |
      | HTTPConnection()
      v
    Idle
      |
      | putrequest()
      v
    Request-started
      |
      | ( putheader() )*  endheaders()
      v
    Request-sent
      |\_____________________________
      |                              | getresponse() raises
      | response = getresponse()     | ConnectionError
      v                              v
    Unread-response                Idle
    [Response-headers-read]
      |\____________________
      |                     |
      | response.read()     | putrequest()
      v                     v
    Idle                  Req-started-unread-response
                     ______/|
                   /        |
   response.read() |        | ( putheader() )*  endheaders()
                   v        v
       Request-started    Req-sent-unread-response
                            |
                            | response.read()
                            v
                          Request-sent
This diagram presents the following rules:
  -- a second request may not be started until {response-headers-read}
  -- a response [object] cannot be retrieved until {request-sent}
  -- there is no differentiation between an unread response body and a
     partially read response body
Note: this enforcement is applied by the HTTPConnection class. The
      HTTPResponse class does not enforce this state machine, which
      implies sophisticated clients may accelerate the request/response
      pipeline. Caution should be taken, though: accelerating the states
      beyond the above pattern may imply knowledge of the server's
      connection-close behavior for certain requests. For example, it
      is impossible to tell whether the server will close the connection
      UNTIL the response headers have been read; this means that further
      requests cannot be placed into the pipeline until it is known that
      the server will NOT be closing the connection.
Logical State                  __state            __response
-------------                  -------            ----------
Idle                           _CS_IDLE           None
Request-started                _CS_REQ_STARTED    None
Request-sent                   _CS_REQ_SENT       None
Unread-response                _CS_IDLE           <response_class>
Req-started-unread-response    _CS_REQ_STARTED    <response_class>
Req-sent-unread-response       _CS_REQ_SENT       <response_class>
�    N)�urlsplit�HTTPResponse�HTTPConnection�
HTTPException�NotConnected�UnknownProtocol�UnknownTransferEncoding�UnimplementedFileMode�IncompleteRead�
InvalidURL�ImproperConnectionState�CannotSendRequest�CannotSendHeader�ResponseNotReady�
BadStatusLine�LineTooLong�RemoteDisconnected�error�	responses�P   i�  ZUNKNOWNZIdlezRequest-startedzRequest-sentc             C   s   i | ]}|j |�qS � )�phrase)�.0�vr   r   �/usr/lib64/python3.6/client.py�
<dictcomp>k   s    r   i   i   �d   s   [^:\s][^:\r\n]*s   \n(?![ \t])|\r(?![ \t\n])z[ - ]ZPATCHZPOSTZPUT�datac             C   sf   y
| j d�S  tk
r` } z:t|j|j|j|jd|j� | |j|j� |f �d�W Y dd}~X nX dS )z<Call data.encode("latin-1") but show a better error message.zlatin-1z`%s (%.20r) is not valid Latin-1. Use %s.encode('utf-8') if you want to send it encoded in UTF-8.N)�encode�UnicodeEncodeError�encoding�object�start�end�title)r   �name�errr   r   r   �_encode�   s    
r'