ok
Direktori : /proc/self/root/lib64/python3.6/http/__pycache__/ |
Current File : //proc/self/root/lib64/python3.6/http/__pycache__/client.cpython-36.pyc |
3 ��d�� � @ 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'