Edit File: socketserver.cpython-37.opt-2.pyc
B ����0��c+i��������������� ���@���s���d�Z�ddlZddlZddlZddlZddlZddlmZ�ddlm Z�ddddd d ddd g Z eed�rte �dddg��eed�r�e �ddddg��eed�r�ej ZnejZG�dd��d�ZG�dd��de�ZG�dd��de�Zeed�r�G�dd��d�ZG�dd ��d �Zeed��r,G�dd��dee�ZG�dd��dee�ZG�dd��dee�ZG�d d ��d ee�Zeed��r�G�d!d��de�ZG�d"d��de�ZG�d#d��dee�ZG�d$d��dee�ZG�d%d ��d �ZG�d&d��de�ZG�d'd(��d(e�ZG�d)d��de�Z dS�)*z0.4�����N)�BufferedIOBase)� monotonic� BaseServer� TCPServer� UDPServer�ThreadingUDPServer�ThreadingTCPServer�BaseRequestHandler�StreamRequestHandler�DatagramRequestHandler�ThreadingMixIn�fork�ForkingUDPServer�ForkingTCPServer�ForkingMixIn�AF_UNIX�UnixStreamServer�UnixDatagramServer�ThreadingUnixStreamServer�ThreadingUnixDatagramServer�PollSelectorc���������������@���s����e�Zd�ZdZdd��Zdd��Zd%dd�Zd d ��Zdd��Zd d��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��ZdS�)&r���Nc�������������C���s ���||�_�||�_t���|�_d|�_d�S�)NF)�server_address�RequestHandlerClass� threadingZEvent�_BaseServer__is_shut_down�_BaseServer__shutdown_request)�selfr���r�����r����1/opt/alt/python37/lib64/python3.7/socketserver.py�__init__����s���� zBaseServer.__init__c�������������C���s���d�S�)Nr���)r���r���r���r����server_activate����s����zBaseServer.server_activate��������?c���������� ���C���sx���|�j�����zVt���F}|�|�tj��x0|�jsR|�|�}|�jr<P�|rH|�����|�� ���q$W�W�d�Q�R�X�W�d�d|�_|�j�� ���X�d�S�)NF)r����clear�_ServerSelector�register� selectors� EVENT_READr����select�_handle_request_noblock�service_actions�set)r���Z poll_interval�selector�readyr���r���r���� serve_forever����s���� zBaseServer.serve_foreverc�������������C���s���d|�_�|�j����d�S�)NT)r���r����wait)r���r���r���r����shutdown����s����zBaseServer.shutdownc�������������C���s���d�S�)Nr���)r���r���r���r���r)�������s����zBaseServer.service_actionsc���������� ���C���s����|�j����}|d�kr|�j}n|�jd�k r0t||�j�}|d�k rBt��|�}t���R}|�|�tj��x<|� |�}|rp|�� ��S�|d�k rZ|t���}|dk�rZ|����S�qZW�W�d�Q�R�X�d�S�)Nr���)�socketZ gettimeout�timeout�min�timer#���r$���r%���r&���r'���r(����handle_timeout)r���r1���Zdeadliner+���r,���r���r���r����handle_request��s"���� zBaseServer.handle_requestc�������������C���s����y|�����\}}W�n�tk r$���d�S�X�|��||�r�y|��||��W�q��tk rl���|��||��|��|��Y�q����|��|����Y�q�X�n |��|��d�S�)N)�get_request�OSError�verify_request�process_request� Exception�handle_error�shutdown_request)r����request�client_addressr���r���r���r(���/��s���� z"BaseServer._handle_request_noblockc�������������C���s���d�S�)Nr���)r���r���r���r���r4���F��s����zBaseServer.handle_timeoutc�������������C���s���dS�)NTr���)r���r=���r>���r���r���r���r8���M��s����zBaseServer.verify_requestc�������������C���s���|���||��|��|��d�S�)N)�finish_requestr<���)r���r=���r>���r���r���r���r9���U��s����zBaseServer.process_requestc�������������C���s���d�S�)Nr���)r���r���r���r����server_close^��s����zBaseServer.server_closec�������������C���s���|���|||���d�S�)N)r���)r���r=���r>���r���r���r���r?���f��s����zBaseServer.finish_requestc�������������C���s���|���|��d�S�)N)� close_request)r���r=���r���r���r���r<���j��s����zBaseServer.shutdown_requestc�������������C���s���d�S�)Nr���)r���r=���r���r���r���rA���n��s����zBaseServer.close_requestc�������������C���s@���t�dtjd��t�d|tjd��dd�l}|����t�dtjd��d�S�)Nz(----------------------------------------)�filez4Exception happened during processing of request fromr���)�print�sys�stderr� traceback� print_exc)r���r=���r>���rF���r���r���r���r;���r��s����zBaseServer.handle_errorc�������������C���s���|�S�)Nr���)r���r���r���r���� __enter__��s����zBaseServer.__enter__c�������������G���s���|������d�S�)N)r@���)r����argsr���r���r����__exit__���s����zBaseServer.__exit__)r!���)�__name__� __module__�__qualname__r1���r���r ���r-���r/���r)���r5���r(���r4���r8���r9���r@���r?���r<���rA���r;���rH���rJ���r���r���r���r���r�������s$���- c���������������@���sb���e�Zd�ZejZejZdZdZ ddd�Z dd��Zdd ��Zd d��Z dd ��Zdd��Zdd��Zdd��ZdS�)r�������FTc�������������C���sT���t��|�||��t�|�j|�j�|�_|rPy|�����|�����W�n���|�������Y�nX�d�S�)N)r���r���r0����address_family�socket_type�server_bindr ���r@���)r���r���r���Zbind_and_activater���r���r���r������s���� zTCPServer.__init__c�������������C���s8���|�j�r|�j�tjtjd��|�j�|�j��|�j���|�_d�S�)N����)�allow_reuse_addressr0���� setsockoptZ SOL_SOCKETZSO_REUSEADDRZbindr���Zgetsockname)r���r���r���r���rQ������s����zTCPServer.server_bindc�������������C���s���|�j��|�j��d�S�)N)r0���Zlisten�request_queue_size)r���r���r���r���r ������s����zTCPServer.server_activatec�������������C���s���|�j�����d�S�)N)r0����close)r���r���r���r���r@������s����zTCPServer.server_closec�������������C���s ���|�j����S�)N)r0����fileno)r���r���r���r���rW������s����zTCPServer.filenoc�������������C���s ���|�j����S�)N)r0���Zaccept)r���r���r���r���r6������s����zTCPServer.get_requestc�������������C���s4���y|��tj��W�n�tk r$���Y�nX�|��|��d�S�)N)r/���r0���ZSHUT_WRr7���rA���)r���r=���r���r���r���r<������s ����zTCPServer.shutdown_requestc�������������C���s���|�����d�S�)N)rV���)r���r=���r���r���r���rA������s����zTCPServer.close_requestN)T)rK���rL���rM���r0���ZAF_INETrO���ZSOCK_STREAMrP���rU���rS���r���rQ���r ���r@���rW���r6���r<���rA���r���r���r���r���r������s���/ c���������������@���s:���e�Zd�ZdZejZdZdd��Zdd��Z dd��Z d d ��ZdS�)r���Fi� ��c�������������C���s ���|�j��|�j�\}}||�j�f|fS�)N)r0���Zrecvfrom�max_packet_size)r����dataZclient_addrr���r���r���r6�����s����zUDPServer.get_requestc�������������C���s���d�S�)Nr���)r���r���r���r���r �����s����zUDPServer.server_activatec�������������C���s���|���|��d�S�)N)rA���)r���r=���r���r���r���r<�����s����zUDPServer.shutdown_requestc�������������C���s���d�S�)Nr���)r���r=���r���r���r���rA�����s����zUDPServer.close_requestN)rK���rL���rM���rS���r0���Z SOCK_DGRAMrP���rX���r6���r ���r<���rA���r���r���r���r���r�����s���c�������������������sR���e�Zd�ZdZdZdZdZdd�dd�Zd d ��Zdd��Z d d��Z ��fdd�Z���ZS�)r���i,��N�(���TF)�blockingc��������� ���C���s����|�j�d�krd�S�xht|�j��|�jkrvy t�dd�\}}|�j��|��W�q�tk r^���|�j�����Y�q�tk rr���P�Y�qX�qW�xt|�j�� ��D�]f}y.|r�dntj }t�||�\}}|�j��|��W�q��tk r����|�j��|��Y�q��tk r����Y�q�X�q�W�d�S�)N���r���)�active_children�len�max_children�os�waitpid�discard�ChildProcessErrorr"���r7����copy�WNOHANG)r���r[����pid�_�flagsr���r���r����collect_children(��s&���� zForkingMixIn.collect_childrenc�������������C���s���|������d�S�)N)ri���)r���r���r���r���r4���K��s����zForkingMixIn.handle_timeoutc�������������C���s���|������d�S�)N)ri���)r���r���r���r���r)���R��s����zForkingMixIn.service_actionsc�������������C���s����t����}|r8|�jd�krt��|�_|�j�|��|��|��d�S�d}z:y|��||��d}W�n �tk rr���|��||��Y�nX�W�d�z|�� |��W�d�t�� |��X�X�d�S�)NrR���r���)r`���r ���r]���r*����addrA���r?���r:���r;���r<����_exit)r���r=���r>���rf����statusr���r���r���r9���Y��s ���� zForkingMixIn.process_requestc����������������s���t�������|�j|�jd��d�S�)N)r[���)�superr@���ri����block_on_close)r���)� __class__r���r���r@���r��s���� zForkingMixIn.server_close) rK���rL���rM���r1���r]���r_���rn���ri���r4���r)���r9���r@���� __classcell__r���r���)ro���r���r�����s���#c�������������������s8���e�Zd�ZdZdZdZdd��Zdd��Z��fdd �Z���Z S�) r���FTNc���������� ���C���sH���z6y|���||��W�n �tk r2���|��||��Y�nX�W�d�|��|��X�d�S�)N)r?���r:���r;���r<���)r���r=���r>���r���r���r����process_request_thread���s ����z%ThreadingMixIn.process_request_threadc�������������C���sP���t�j|�j||fd�}|�j|_|jsD|�jrD|�jd�kr8g�|�_|�j�|��|����d�S�)N)�targetrI���) r���ZThreadrq����daemon_threadsZdaemonrn����_threads�append�start)r���r=���r>����tr���r���r���r9������s���� zThreadingMixIn.process_requestc����������������s:���t�������|�jr6|�j}d�|�_|r6x|D�]}|����q&W�d�S�)N)rm���r@���rn���rt����join)r���ZthreadsZthread)ro���r���r���r@������s���� zThreadingMixIn.server_close) rK���rL���rM���rs���rn���rt���rq���r9���r@���rp���r���r���)ro���r���r���w��s��� c���������������@���s���e�Zd�ZdS�)r���N)rK���rL���rM���r���r���r���r���r������s����c���������������@���s���e�Zd�ZdS�)r���N)rK���rL���rM���r���r���r���r���r������s����c���������������@���s���e�Zd�ZdS�)r���N)rK���rL���rM���r���r���r���r���r������s����c���������������@���s���e�Zd�ZdS�)r���N)rK���rL���rM���r���r���r���r���r������s����c���������������@���s���e�Zd�ZejZdS�)r���N)rK���rL���rM���r0���r���rO���r���r���r���r���r������s���c���������������@���s���e�Zd�ZejZdS�)r���N)rK���rL���rM���r0���r���rO���r���r���r���r���r������s���c���������������@���s���e�Zd�ZdS�)r���N)rK���rL���rM���r���r���r���r���r������s����c���������������@���s���e�Zd�ZdS�)r���N)rK���rL���rM���r���r���r���r���r������s����c���������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) r ���c�������������C���s6���||�_�||�_||�_|�����z|�����W�d�|�����X�d�S�)N)r=���r>����server�setup�handle�finish)r���r=���r>���ry���r���r���r���r������s����zBaseRequestHandler.__init__c�������������C���s���d�S�)Nr���)r���r���r���r���rz������s����zBaseRequestHandler.setupc�������������C���s���d�S�)Nr���)r���r���r���r���r{������s����zBaseRequestHandler.handlec�������������C���s���d�S�)Nr���)r���r���r���r���r|������s����zBaseRequestHandler.finishN)rK���rL���rM���r���rz���r{���r|���r���r���r���r���r ������s��� c���������������@���s,���e�Zd�ZdZdZdZdZdd��Zdd��ZdS�) r ���r\���r���NFc�������������C���sz���|�j�|�_|�jd�k r |�j�|�j��|�jr:|�j�tjtjd��|�j� d|�j �|�_|�jdkrdt |�j�|�_n|�j� d|�j�|�_d�S�)NT�rbr����wb)r=���Z connectionr1���Z settimeout�disable_nagle_algorithmrT���r0���ZIPPROTO_TCPZTCP_NODELAYZmakefile�rbufsize�rfile�wbufsize� _SocketWriter�wfile)r���r���r���r���rz������s���� zStreamRequestHandler.setupc�������������C���sF���|�j�js.y|�j�����W�n�tjk r,���Y�nX�|�j�����|�j����d�S�)N)r�����closed�flushr0����errorrV���r����)r���r���r���r���r|�����s���� zStreamRequestHandler.finish) rK���rL���rM���r����r����r1���r���rz���r|���r���r���r���r���r ������s��� c���������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) r����c�������������C���s ���||�_�d�S�)N)�_sock)r���Zsockr���r���r���r�����s����z_SocketWriter.__init__c�������������C���s���dS�)NTr���)r���r���r���r����writable��s����z_SocketWriter.writablec���������� ���C���s&���|�j��|��t|��}|jS�Q�R�X�d�S�)N)r����Zsendall� memoryview�nbytes)r����bZviewr���r���r����write��s���� z_SocketWriter.writec�������������C���s ���|�j����S�)N)r����rW���)r���r���r���r���rW���#��s����z_SocketWriter.filenoN)rK���rL���rM���r���r����r����rW���r���r���r���r���r������s���r����c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)r���c�������������C���s2���ddl�m}�|�j\|�_|�_||�j�|�_|��|�_d�S�)Nr���)�BytesIO)�ior����r=���Zpacketr0���r����r����)r���r����r���r���r���rz���*��s����zDatagramRequestHandler.setupc�������������C���s���|�j��|�j���|�j��d�S�)N)r0���Zsendtor�����getvaluer>���)r���r���r���r���r|���0��s����zDatagramRequestHandler.finishN)rK���rL���rM���rz���r|���r���r���r���r���r���&��s���)!�__version__r0���r%���r`���rD���r���r����r���r3���r����__all__�hasattr�extendr���r#���ZSelectSelectorr���r���r���r���r���r���r���r���r���r���r���r���r���r ���r ���r����r���r���r���r���r����<module>{���sR��� �n~ X..-