Format: application/x-python-code
⬇ Download File (3.7 KB)
   1  o
   2  
   3  .'h��@sddlZddlZddlZddlZddlZddlmZmZddl	m
   4  Z
   5  ddlmZm
   6  Z
   7  ddlmZddlZededejfde
   8  ejddffd	d
   9  ��Zej�ej�e�d�Zeed��Ze��ZWd�n1siwYGd
  10  d�de
  11  �Zddd�ZGdd�dej�Zddd�Z dS)�N)�closing�contextmanager)�SimpleHTTPRequestHandler)�Callable�	Generator)�urlopen�handler.�returnccsP�t�d|�}tj|jddid�}d|_z|��|VW|��dS|��w)N)z	127.0.0.1r�
  12  poll_intervalg{�G�z�?)�target�kwargsT)�socketserver�	TCPServer�	threading�Thread�
  13  serve_forever�daemon�start�shutdown)r�httpd�thread�r�XC:\Users\shubh\Videos\agent\nova\Lib\site-packages\h11/tests/test_against_stdlib_http.py�
  14  socket_servers�
  15  �rzdata/test-file�rbc@seZdZdedefdd�ZdS)�SingleMindedRequestHandler�pathr	cCstS)N)�test_file_path)�selfrrrr�translate_path$sz)SingleMindedRequestHandler.translate_pathN)�__name__�
  16  __module__�__qualname__�strrrrrrr#srcCs6tt���}tt�|j���l}t�tj�}|�	|�
  17  tjdddgd���|�	|�
  18  t����t
  19  �}	|��}t|�|tjurG|�|�d��q0t|�tjurU|jdksUJ�t|�tjura||j7}t|�tjurinq1t|�tksrJ�Wd�n1s|wYWd�dSWd�dS1s�wYdS)N�GETz/foo)�Host�	localhost��methodr�headersT�
  20  ��)rrr�socket�create_connection�server_address�h11�
  21  ConnectionZCLIENT�sendall�send�Request�EndOfMessage�	bytearray�
  22  next_event�print�	NEED_DATA�receive_data�recv�type�Response�status_code�Data�data�bytes�test_file_data)r�s�cr?�eventrrr�test_h11_as_client(s<
  23  ���
  24  
  25  ���"�rEc@seZdZddd�ZdS)�H11RequestHandlerr	Nc	Cst|j��y}t�tj�}d}	|��}|tjur!|�|�d��qt	|�tj
  26  ur*|}t	|�tjur2nq|dus9J�t�
  27  |j�d�|j�d�dd�|jD�d��}|�|�tjdgd���|�|�tj|�d�d	���|�|�t����Wd�dS1s�wYdS)
  28  NTr*�asciicSs"i|]
  29  \}}|�d�|�d��qS)rG)�decode)�.0�name�valuerrr�
  30  <dictcomp>]s��z,H11RequestHandler.handle.<locals>.<dictcomp>r'r+)r=r))r?)r�requestr/r0ZSERVERr6r8r9r:r;r3r4�json�dumpsr(rHrr)r1r2r<r>�encode)rrBrCrMrD�inforrr�handleIs4
  31  �
  32  
  33  ���
  34  "�zH11RequestHandler.handle�r	N)r r!r"rRrrrrrFHsrFc	Cs�tt��5}|j\}}d�||�}tt|���}|��dksJ�|��}Wd�n1s-wYWd�n1s<wYt�	|�
  35  d��}t|�|ddksUJ�|ddks]J�d|d	d
  36  vsgJ�dS)Nzhttp://{}:{}/some-pathr+rGr(r$rz
  37  /some-path�urllibr)z
  38  user-agent)rrFr.�formatrr�getcode�readrN�loadsrHr7)r�host�port�url�fr?rQrrr�test_h11_as_serverhs
  39  
  40  
  41  ���r]rS)!rNZos.path�osr,r
  42  r�
  43  contextlibrrZhttp.serverr�typingrr�urllib.requestrr/�BaseRequestHandlerrrr�join�dirname�__file__r�openr\rWrArrErFr]rrrr�<module>s0��
  44  �
  45